2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研仿真模拟题
● 摘要
目录
2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研仿真模拟题(一) . 2 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研仿真模拟题(二) . 7 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研仿真模拟题(三)12 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研仿真模拟题(四)18 2017年云南大学软件学院904计算机程序设计[专业硕士]之数据结构考研仿真模拟题(五)23
一、填空题
1. 模式串
的next 函数值序列为_____。
【答案】01122312
2. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。
置空链表,然后将原链表结点逐个插入到有序表中
当链表尚未到尾,p 为工作指针
查P 结点在链表中的插入位置,这时q 是工作指针
将P 结点链入链表中
是q 的前驱,u 是下个待插入结点的指针
【答案】(1)(2)(3)(4)(5)
3. 在单链表中设置头结点的作用是_____。
【答案】方便运算
4. 顺序查找n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_____次;当使用监视哨时,若查找失败,则比较关键字的次数为_____。
【答案】
【解析】最多的情况就是把整个表遍历了一遍。使用监视哨时,需要多一个存储空间来存监视哨。
5. N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。
【答案】2(N-1)
【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要
N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。
6. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
【答案】
【解析】快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
7. 循环队列的引入,目的是为了克服_____。
【答案】假溢出时大量移动数据元素
【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。
8. 数组的存储结构采用_____存储方式。
【答案】顺序存储结构
【解析】数组本身的存储结构是线性的,也就是说它是连续存储的。
9. 外排序的基本操作过程是_____和_____。
;归并 【答案】生成有序归并段(顺串)
10.设m 、n 均为自然数,m 可表示为一些不超过n 的自然数之和,f (m , n )为这种表示方式的 数目。例f (5, 3)=5,有5种表示方式:3+2, 3+1+1,2+2+1,2+1+1+1, 1+1+1+1+1。
①以下是该函数的程序段,请将未完成的部分填入,使之完整。
②执行程序,f (6,4)=_____。 【答案】①1; 1; f (m ,n -1); n ②9
11.顺序栈用
【答案】
存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。
【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。
12.对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
13.已知一循环队列的存储空间为环队列判满的条件是( )
【答案】
14.设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称 增量序列)依次是4,2,1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。
【答案】3; (10,7,-9,0,47,23,1,8,98,36)
15.如某二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____。
【答案】69
【解析】二叉树叶结点数为20, 则度为2的结点数为19, 所以总的结点数为20+19+30=69。
其中队头和队尾指针分别为front 和rear , 则此循
相关内容
相关标签