2013年计算机学科专业基础综合试题参考答案一、单项选择题D2
解析:两个升序链表合并,两两比较表中元素,每比较一次确定一个元素的链接位置(取较小元素,头插法)
当一个链表比较结束后,将另一个链表的剩余元素插入即可
最坏的情况是两个链表中的元素依次进行比较,直到两个链表都到表尾,即每个元素都经过比较,时间复杂度为O(m+n)=O(max(m,n))
解析:显然,3之后的4,5,…,n都是p3可取的数(一直进栈直到该数入栈后马上出栈)
接下来分析1和2:Pt只能是3之前入栈的数(可能是1或2),当P1=1时,p3可取2;当P1=2时,p3可取1,故p3可能取除3之外的所有数,个数为n-1
解析:利用7个关键字构建平衡二叉树T,平衡因子为0的分支结点个数为3,构建的平衡二叉树如下图所示
构造及调整的过程如下:1
DCBCD4
DAABACCABBCADBBAABDABCBBBCACAA5
r-----------,
飞:[`L___________』,-----------------了,RR,4
解析:将哈夫曼树的思想推广到三叉树的情形
为了构成严格的三叉树,需添加权为0的虚叶结点,对于严格的三叉树(n
-1)%(3-1)=u=1-to,需要添加m-u-1=3-1-1个叶结点,说明7个叶结点刚好可以构成一个严格的三叉树
按照哈夫曼树的原则,权为0的叶结点应离树根最远,构造最小带权生成树的过程如下:
`妙0©05)©0乙7最小的带权路径长度为(2+3)x3+(4+5)x2+(6+7)x1=46
解析:根据后序线索二叉树的定义,X结点为叶子结点且有左兄弟