2018年电子科技大学自动化工程学院820计算机专业基础之数据结构考研仿真模拟五套题
● 摘要
一、填空题
1. 一棵有11个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端) 结点和_____个叶子,该满二叉树的深度为_____。
【答案】
或
【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。
2. 如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,
请在算法空格处填上正确的语句。 设线索二叉树的结点数据结构为其中:
left 指向其左孩子,
【答案】
left 指向其前驱;,
right 指向其后继。
,
right 指向其右孩子,,
,
3. 设为哈夫曼树的叶结点数目,则该哈夫曼树共有_____个结点。
【答案】
【解析】哈夫曼树只有度为0和2的节点。
4. 对n 个元素的序列进行起泡排序时,最少的比较次数是_____。
【答案】n -1
【解析】如果序列是正序,冒泡排序第一次只要进行n -1次比较,发现没有移动元素,说明序列有序。
5. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
a 中存放待排序的关键字
【答案】
【解析】快速排序(quick sort)的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
二、单项选择题
6. 执行完下列语句段后,f 值为( )。
A.2 B.4 C.8
D. 无限递归 【答案】B
【解析】该程序使用了递归调用,由题知,:f(0)=2;f(l)=l*f(0)=2;f(2)=2*f(l)=4;所以结果为4。
7. 主机甲与主机乙之间已建立一个TCP 连接, 主机甲向主机乙发送了3个连续的TCP 段, 分别包含300字节、400字节和500字节的有效载荷, 第3个段的序号为900。若主机乙仅正确接收到第1和第3个段, 则主机乙发送给主机甲的确认序号是( )。
A.300 B.500 C.1200 D.1400 【答案】B
【解析】本题考查TCP 的确认机制, TCP 首部的序号字段是指本报文所发送的数据的第一个字节的序号。本题中首先根据第3个段的序号为900, 可以得出第2个段的序号为500, 第1个段的序号为200, 这里主机乙仅正确接收了第1段和第3段, 这意味着第2段丢失, 需要超时重传, 因此主机乙发送给主机甲的确认序号, 也就是此时接收端期望收到的下一个数据包中第一个字节的序号应该是第二段的第一个字节的序号, 也就是500, 因此答案是B 。
8. 下列排序算法中,其中( )是稳定的。
A. 堆排序,起泡排序 B. 快速排序,堆排序 C. 直接选择排序,归并排序 D. 归并排序,起泡排序 【答案】D
9. 循环队列A[0..m﹣1]存放其元素值,用front 和rear 分别表示队头和队尾,则当前队列中的元素数是( )。
A.(rear﹣front +m)%m B.rear ﹣front +1 C.rear ﹣front ﹣1 D.rear ﹣front 【答案】A
【解析】对于循环队列,需要深刻理解队头(font)和队尾(rear)的概念,在队头进行出队操作,在队尾进行进队操作。rear-front 可能为正也可能为负,为正时元素个数=(rear-front);如果为负则元素的个数=(rear-front+m),所以统一的公式就是(rear-front+m)%m。
10.下列关于最小生成树的叙述中, 正确的是( )。
Ⅰ. 最小生成树的代价唯一
Ⅱ. 所有权值最小的边一定会出现在所有的最小生成树中
Ⅲ. 使用普里姆(Prim)算法从不同顶点开始得到的最小生成树一定相同 IV. 使用普里姆算法和克鲁斯卡尔(Kmskal)算法得到的最小生成树总不相同