2017年浙江理工大学计算机专业基础(同等学力加试)之数据结构考研复试核心题库
● 摘要
一、应用题
1. 对于后序线索二叉树,怎样査找任意结点的直接后继? 对于中序线索二叉树,怎样査找任意结点的直接前驱?
【答案】(1)后序线索树中结点的后继的方法如下:根结点无后继:当结点的rtag=1时,其右线索指向后继;当结点的rtag=0且是其双亲的右孩子,或是双亲的左孩于且双亲无右孩时,其双亲是该结点的后继;当结点是其双亲的左孩子且双亲有右孩子时,其双亲结点右子树种最左下的叶结点是其后继。
(2)对中序线索二叉树的某结点,若其左标记等于1,则左孩子为线索,指向直接前驱;否则其前驱是其左子树上按中序遍历的最后一个结点。
2. 证明:具有n 个顶点和多于n-1条边的无向连通图G —定不是树。
【答案】具有n 个顶点n-1条边的无向连通图是自由树,即没有确定根结点的树,每个结点均可当根。若边数多于n-1条,因一条边要连接两个结点,则必因加上这一条边而使两个结点多了一条通路,即形成回路。形 成回路的连通图不再是树。
3. 设哈希(Hash )表的地址范围为0~17,哈希函数为:
造出哈希表,试回答下列问题:
(1)画出哈希表示意图;
(2)若查找关键字63,需要依次与哪些关键字比较?
(3)若查找关键字60,需要依次与哪些关键字比较?
(4)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
【答案】(1)哈希表示意图如表所示:
表 哈希示意图
(2)查找关键字63时,由于
63比较。
(3)查找关键字60时,由于
(4)
第 2 页,共 36 页 为关键字,用线性探测再散列法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49)所以需要依次与31,46,47,32,17,哈希地址12内为空,查找失败。
4. 如果两个串含有相等的字符,能否说它们相等?
【答案】仅从两串含有相等的字符,不能判定两串是否相等,两串相等的充分必要条件是两串长度相等且对应位置上的字符相同(即两串串值相等)。
5. 设度为m 的树采用多重链表存储,毎个结点有m+1个域,其中有1个数据域,m 个指向孩子的指针。 则空指针的数目是多少?说明这种存储方式的利弊。
【答案】(1)空指针数目:n (n>0)个结点的m 度树共有nm 个链域,除根结点外,每个结点均有一个指针所指,故该树的空链域有nm-(n-1)=n(m-l )+1个。
(2)利弊:这种存储结构统一,便于处理但空链域造成存储效率低。
6. 假定在一个8位字长的计算机中运行下列C 程序段:
若编译器编译时将8个8位寄存器R1〜R8分别分配给变量
回答下列问题。(提示:带符号整数用补码表示)
(1)执行上述程序段后,寄存器Rl 、R5和R6的内容分别是什么?(用十六进制表示) (2)执行上述程序段后,变量m 和kl 的值分别是多少?(用十进制表示)
(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现? 简述理由。
(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出? 上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?
【答案】(1)无符号整数运算,(Rl ) =x=134=10000110B=86H、(R5)=x-y=246=10010000B=90H、(R6)=x+y=01111100B=7CH。
(2) m 的机器数与x 的机器数相同为86H=1000 0110B,解释为带符号整数(用补码表示)时,其值为-111 1010B= -112; 同理kl=(m-n )=(x-y )=90H=1001 0000B,解释为带符号整数(用补码表示)时,其值为-111 1010B=-112;
(3)四种运算可以利用同一个加法器及辅助电路实现,n 位加法器实现的是模2n 无符号整数加法运算。对于无符号整数a 和b , a+b可以直接用加法器实现,而实现;对于带符号整数用补码表示,补码加减运算公式为
:
,所以四种运算都可在n 位加法器
中实现。
(4)判断溢出的方法有3种:一位符号位、进位位和双符号位。上述程序段中只有
第 3 页,共 36 页 请
语句会发 生溢出,因为2个带符号整数均为负数,它们相加之后,结果小于8位二进制所能表示的最小负数。
7. 已知两个各包含IV 和M 个记录的排好序的文件能在时间内合并为一个包含个记录的排好序的文件。当有多于两个排好序的文件要被合并在一起时,只需重复成对地合并便可完成。合并的步骤不同,所需花费的记录移动次数也不同。现有文件,FI ,F2,F3,F4,F5,各有记录数为20,30,10,5和30,试找出记录移动次数最少的合并步骤。
,【答案】类似最优二叉树(哈夫曼树)可先合并含较少记录的文件,后合并较多记录的文件,
使移动次数减少,如图所示的哈夫曼树。
图
8. 已知图的邻接矩阵为:
当用邻接表作为图的存储结构,且邻接点都按序号从大到小排列时,试写出:
(1)以顶点V1为出发点的唯一的深度优先遍历序列;
(2)以顶点V1为出发点的唯一的广度优先遍历序列;
(3)该图唯一的拓扑有序序列。
1)V1,V4,V9, V10,V7, V6, V8,V3,V2, V5 【答案】(
(2) V1, V4, V3, V2, V9, V7, V6, Y5, V10, V8
(3) V1, V2, V5, V3, V4, V6, V8, V7, V9, VIO
二、算法设计题
第 4 页,共 36 页