2018年北方民族大学计算机系统结构832C语言程序设计与数据结构之数据结构考研基础五套测试题
● 摘要
一、填空题
1. 在单链表中设置头结点的作用是_____。
【答案】方便运算
2. 空格串是指_____,其长度等于_____。
【答案】由空格字符(ASCII值32) 所组成的字符串;空格个数
3. 顺序栈用存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。
【答案】if(top!=n)data[++top]=x ;
【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。
4. 实现字符串拷贝的函数strcpv 为:
(_____)
【答案】s++=*t++或(*s++=*t++)!='\0’
5. 设数组
址为_____。
【答案】9174;8788
【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,则它的存储地址为2000+((i﹣l)*80+j ﹣
1) 2。若以列序为主存储顺序,则它的存储地址为2000+((j﹣l)*50+i ﹣l)*2。
6. 一个字符串中_____称为该串的子串。
【答案】任意个连续的字符组成的子序列
7. 克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。 【答案】;边稀疏
8. 索引顺序文件既可以顺序存取,也可以 _____存取。
【答案】随机
的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为_____;若以列序为主序顺序存储,则元素a[45,68]的存储地
9. 高度为h 的堆中,最多有_____元素,最少有_____个元素。 【答案】
。当最后一层只有【解析】当这个堆构成的是满二叉树时,元素的个数最多,元素个数为
一个元素时,此时堆的元素个数最少,元素个数为。
10.如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】
序查找效率一样为
。 【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺二、判断题
11.为提高排序速度,进行外排序时,必须选用最快的内排序算法。( )
【答案】×
【解析】外部排序算法最常用的是多路归并,即将原文件分解成多个能够一次性装人内存的部分,分别把每一部分调入内存完成排序。然后,对己经排序的子文件进行归并排序。
12.用希尔(Shell)方法排序时,若关键字的初始排序杂乱无序,则排序效率就低。( )
【答案】×
【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。
13.在平衡二又树中,向某个平衡因子不为零的结点的树中插入一新结点,必引起平衡旋转。( )
【答案】×
【解析】不一定,比如一个平衡因子为1的结点,这时往它的右部插入一个新结点,就不会引起平衡旋转
14. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。( )
【答案】 ×
【解析】队列是一种先入先出型结构,而找才是先进后出的线性结构。
15.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。( )
【答案】×
【解析】排序的稳定性指:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri 在rj 之前,而在排序后
的序列中,ri 仍在ij 之前,则称这种排序算法是稳定的;否则称为不稳定的。
16.哈夫曼树度为1的结点数等于度为2和0的结点数之差。( )
【答案】×
【解析】哈夫曼树不存在度数为1的结点。度数为2和0的结点数之差为1。
17.强连通分量是无向图的极大强连通子图。( )
【答案】×
【解析】强连通分量是对有向图而言的,一般在无向图中讨论连通性。
18.二维以上的数组其实是一种特殊的广义表。( )
【答案】 √
【解析】广义表是线性表的推广。广义表中的元素还有可能是广义表。对于维数大于二的数组,它在某一维上的元素还是数组。符合广义表的定义,因此二维以上的数组其实是一种特殊的广义表。
19.设尾指针的循环链表表示队列,则入队和出队算法的时间复杂度均为O(1)( )。
【答案】 √
【解析】入队和出队操作分别在队尾和队头进行,设有尾指针的循环链表对头和尾元素的操作的时间复杂度是O(1)。
20.m 阶B 树的任何一个结点的左右子树的高度都相等。( )
【答案】√
【解析】由B 树的性质得知,叶子结点都处于同一层。因此,m 阶B 树的任何一个结点的左右子树的高度都相等。
三、算法设计题
21.试将下列递归过程改写为非递归过程。
【答案】算法如下: