对二叉树的结点从1开始连续编号,要求每个结点的编号大于其左、右子女的编号,同一结点的左、右子女中,其左子女编号小于其布子女编号,则可采用()遍历实现二叉树的结点编号。
A、先序
B、中序
C、后序
D、层次序
A、先序
B、中序
C、后序
D、层次序
A.先序遍历
B.中序遍历
C.后序遍历
D.层次遍历
要求二叉树按二叉链表形式存储,编写算法实现: (1)建立二叉树的算法。 (2)判别给定的二叉树是否是完全二叉树的算法。 (完全二叉树的定义为:深度为K,具有N个结点的二叉树的每个结点都与深度为K的满二叉树中编号从1~N的结点一一对应。此题以此定义为准)
如果一棵有n个结点的满二叉树的深度为d(树根所在的层次为1),则给出推导式:
(1)用深度d表达其结点总数n。
(2)用结点总数n表达深度d.
(3)若对该树的结点从1开始按中序遍历次序进行编号,则树根结点的编号如何用d表示?树根结点的左子女结点的编号如何用d表示?右子女结点的编号如何用d表示?
(1)各层的结点个数是多少?
(2)编号为i的结点的父结点(若存在)的编号是多少?
(3)编号为i的结点的第m个孩子结点(若存在)的编号是多少?
(4)编号为i的结点有右兄弟的条件是什么?其右兄弟结点的编号是多少?
(5)若结点个数为n,则深度h是n的什么函数关系?
A.B[2i-1]
B.B[2i+1]
C.B[2i]
D.B[i/2]
一个深度为七的,具有最少结点数的完全二叉树按层次,(同层次从左到右)用自然数依此对结点编号,则编号最小的叶子的序号是(1);编号是f的结点所在的层次号是(2)(根所在的层次号规定为1层)。【南京理工大学2001二、2(2分)】
以二叉链表作为二叉树的存储结构,编写以下算法:
(1)统计二叉树的叶结点个数。
(2)设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
(3)计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
(4)用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。
(5)求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
(6)输出二叉树中从每个叶子结点到根结点的路径。