:
选择题:
1.已知一颗完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最少是()。
A.39
B.52
C.
D.
解答题:T01Format)
2.(华中科技大学)假设以带头结点的单链表为有序表,单链表的类型定义如下:
TypeddfstructLNode{
ElementTypedata;
StructLNode*next;
}LNode,*LinkList;
编写算法Delete(LinkListA,LinkListB)从有序表A中删除所有和有序表B中元素相同的结点。
(1)描述算法思想。
(2)用C语言写出算法函数。
(3)分析算法的时间复杂度。
解析:
1.选A。第6层有叶结点则说明完全二叉树的高度可能为6或7,显然树高为6时结点最少。若第6层上有8个叶结点,则前5层为满二叉树,故完全二叉树的结点个数最少为25-1+8=39个结点。
2.(1)用两个指针p,q分别指向A和B,
如果q的data大于p的data,则p指向下一个结点。
如果q的data小于p的data,则q指向下一个结点。
如果q的data等于p的data,则从A中删除该结点。
(2)
(3)时间复杂度为O(N)。
预览时标签不可点收录于话题#个上一篇下一篇