开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天 点击查看活动详情
二叉树的递归定义
什么是二叉树
- 一种是二叉树没有根结点,是一棵空树。
- 一种是二叉树由根结点、左子树、右子树构成,并且,这棵树的左子树和右子树都是二叉树。
递归定义
- 其实递归定义就是用自身来定义自身。
- 例如人们熟知的斐波那契数列,它的定义为F[n]=F[n-1]+F[n-2],这里其实就是递归定义,即用自身序列的元素(F[n-1]与F[n-2])来定义这个序列本身(即F[n])。
- 更通俗的解释如下:
- 一个家族里面,可以把爷爷称为父亲的父亲,而曾祖父则可以称为父亲的父亲的父亲,这样家族里自己的直系血缘的男性都可以用“父亲”这样的递归方式进行定义。
- 接下来对递归进行简要介绍:
- 一个递归函数必须存在两个概念:递归边界和递归式
- 递归式:其中递归式用来将大问题分解为与大问题性质相同的若干个小问题
- 递归边界:递归边界用来停止无休止的递归。
- 因此得出二叉树的递归定义 : 一是递归边界,二是递归式。二叉树中任何一个结点的左子树既可以是一棵空树,也可以是一棵有左子树和右子树的二叉树,同理,结点的右子树也既可以是一棵空树,又可以使一棵有左子树和右子树的二又树,这样直到到递归边界,递归定义结束。
- 更通俗的解释如下:
二叉树与度为2的树的区别
- 在树中,结点的子树不会区分左右顺序的,因此度为2的树只能说明树中每个结点最多有两个子树。
- 而二叉树虽然也满足树中每个结点最多有两个子树,但它的两个子树区分左右顺序,也就是左子树和右子树,并且,左子树和右子树的位置不能随意进行交换,这就是度为2的树和二叉树之间的区别。