问答题(1996年北京航空航天大学)

一个深度为 h 的满 m 叉树有如下性质:第 h 层上的结点都是叶结点,其各层上每个结点有 m 棵非空子树。问:

(1)第 k 层最多有多少个结点?(k≤h )

(2)整棵树最多有多少个结点?

(3)若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,编号为 i 的结汽的双亲结点的编号是什么?编号为 i 的结点的第 j 个孩子结点(若存在)的编号是什么?

答案解析

(1)第 k 层上最多有 mk-1个结点。(2)整棵树最多有 1 + m + m2 + mn-1=(mn-1)个结点。(3)① 将编号为 i 的结点视为完全 m 叉树的最后一个结点,设它的父结点的编号为 x , 因此此完全 m 叉树中至少有x-1 个度为 m 的结点,而x号结点的度 d∈[1,m],其余的结点均为叶子结点,而编号 i ...

查看完整答案

讨论

一般情况下,将递归转换成等价的非递归算法应该设置【】

在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取出数据打印。该缓冲区应念是一个【 】结构。

在非空双向循环链表中q所指的结点后面插入p所指的结点的过程已经依次进行了以下3步:p->llink=q;p->rlink=q->rlink;q->rlink=p;第4步应该是____________________;(写出该步对应的语句)。

若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法时间复杂度为【 】。(1≤i≤n+1)

中缀表达式 A-(B + c/d) * E的后缀形式是【 】

利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行【 】次元素间的比较。

若杂凑表(Hash)的地址范围为[0,9],杂凑函数为H(key)=(key2+2) MOD 9,并采用链地址法处理冲突,请画出元素7、4、5、3、6、2、8、9依次插入杂凑表的状态。

若在线性表中采用折半查找元素,该线性表应该【 】。

一个深度为 h 的满 m 叉树有如下性质:第 h 层上的结点都是叶结点,其各层上每个结点有 m 棵非空子树。问:(1)第 k 层最多有多少个结点?(k≤h )(2)整棵树最多有多少个结点?(3)若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,编号为 i 的结汽的双亲结点的编号是什么?编号为 i 的结点的第 j 个孩子结点(若存在)的编号是什么?

一个深度为 h 的满 m 叉树有如下性质:第 h 层上的结点都是叶结点,其各层上每个结点有 m 棵非空子树。问:(1)第 k 层最多有多少个结点?(k≤h )(2)整棵树最多有多少个结点?(3)若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,编号为 i 的结汽的双亲结点的编号是什么?编号为 i 的结点的第 j 个孩子结点(若存在)的编号是什么?