二叉树性质的习题以及解析
一棵二叉树的第i (i>=1)层最多有( )个结点?
当二叉树为满二叉树时,第i层的结点最多,因此,答案为:2i-1
一棵有n(n>0)个结点的满二叉树共有( )个叶子结点 和 ( )个非叶子结点。
根据满二叉树推算得出,“叶子节点”总是比“非叶子结点”多一个,因此 :
叶子结点的个数为:(n+1)/2 ;
非叶子结点的个数为:(n-1)/2
具有100个结点的完全二叉树的“叶子结点”数为( )。
完全二叉树结点为100,是个偶数,可以推出缺了一个叶子结点,又根据满二叉树叶子结点总是比非叶子结点多一个,由此推出:该题中叶子结点 = 非叶子结点,因此,答案为:50
深度为k的完全二叉树至少有( )个结点,至多有( )个结点。
深度为k的完全二叉树,结点最少(说明最后一层只有一个叶子,即 k-1 层的满二叉树加一个结点),k-1 层的满二叉树的结点数为 2k-1-1, k 层的满二叉树的结点数为 2k-1, 因此:
深度为k的完全二叉树,至少有2k-1-1+1(k-1 层的满二叉树加一)
深度为k的完全二叉树,至多有2k-1(k 层为满二叉树)
具有n个结点的完全二叉树按层序从1开始编号,则编号最小的叶子的序号是()。
完全二叉树,如果一个结点有左孩子和右孩子,则左孩子是该结点的两倍,右孩子是该结点的两倍加一。最小的叶子结点,就是最后一个叶子结点n的双亲结点n/2加一,因此,答案为:[n/2]+1
某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后续遍历序列是( )。
第一步:找出根结点
前序遍历序列是ABCDEFG (根据前序序列可以判断出A为根结点)
中序遍历序列是CBDAFGE(A的左边CBD为左子树,A的右边FGE为右子树)
第二步:确定A左子树
前序遍历序列是ABCDEFG (根据前序序列可以判断出B为左子树的根结点)
中序遍历序列是CBDAFGE(B的左边C为左子树,B的右边D为右子树)
第三步:确定A右子树
前序遍历序列是ABCDEFG (根据前序序列可以判断出E为右子树的根结点)
中序遍历序列是CBDAFGE(E的左边FG为左子树,E的右边为空,代表E没有右子树)
第四步:确定A右子树中,E的左子树
前序遍历序列是ABCDEFG (根据前序序列可以判断出F为E左子树下面的根结点)
中序遍历序列是CBDAFGE(F的左边为空,代表F没有左子树,F的右边G为右子树)
第五步:画出二叉树
第六步:根据二叉树图,写出该二叉树的后续遍历序列:C-D-B-G-F-E-A