当前位置:问答库>考研试题

2018年北京语言大学计算机应用技术825数据结构与程序设计之数据结构考研基础五套测试题

  摘要

一、填空题

1. 在下面的程序段中,对X 的赋值语句的时间复杂度为_____ (表示为n 的函数) 。

【答案】1+(1+2) +(1+2+3) +…+(l+2+…+n) =n(n+1)(n+2)/6,即O(n)

【解析】当i =l 时,赋值语句就被执行了一次。当i =2时,赋值语句被执行了1+2次。当i =3时,赋值语句被执行了1+2+3次。...... 可以推出赋值语句总共被执行了1+(1+2) +(1+2+3) +…+(l+2+... +n) =n(n+1)(n+2)/6次。

2. 实现字符串拷贝的函数strcpv 为:

(_____)

【答案】s++=*t++或(*s++=*t++)!='\0’

3. 在拓扑分类中,拓扑序列的最后一个顶点必定是_____的顶点。

【答案】出度为0

【解析】如果最后一个顶点的出度不为0, 则必定还有顶点存在,与题目所说的最后一个顶点矛盾,所有最后一个顶点的出度必定为零。

4. 表达式23+((12*3﹣2)/4+34,5/7) +108/9的后缀表达式是_____。 【答案】

5. 设数组

址为_____。

【答案】9174;8788

【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,则它的存储地址为2000+((i﹣l)*80+j ﹣

1) 2。若以列序为主存储顺序,则它的存储地址为2000+((j﹣l)*50+i ﹣l)*2。

第 2 页,共 51 页 (表达式中的点(.)是数分隔符,如是三个数) 的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为_____;若以列序为主序顺序存储,则元素a[45,68]的存储地

6. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。

【答案】起泡;快速

【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为O(n),

2而快速排序算 法需要比较的次数达到最大,时间复杂度为O (n) 。

7. 以下是用类C 语言写出的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild 域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack , 栈顶指针为top ,P ,t 为辅助指针,head 为双向循环链表的头指针。试填充算法中的空格,使算法完整。

【答案】

8. —个有2001个结点的完全二叉树的高度是_____。

【答案】11

【解析】完全二叉树的高度

9. 当两个栈共享一存储区时,栈利用一维数组stack(1,,1) 表示,两栈顶指针为top[l]与top[2],则当栈1空时,top[l]为_____,栈2空时,top[2]为_____,栈满时为_____。

【答案】0;n+1;top[l]+l=top[2]

【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。

10.索引顺序文件既可以顺序存取,也可以 _____存取。

【答案】随机

第 3 页,共 51 页

11.求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e

【答案】克鲁斯卡尔

【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。

12.—棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为_____。

【答案】2

【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。

13.在哈希函数中,p 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

14.若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。 【答案】

. 。 【解析】无向完全图中任意一个顶点都和其他n -1个顶点都有一条边,即为n(n-1) 。又因为每条边重复出现两次,所有无向完全图的边数为

15.空格串是指_____,其长度等于_____。

【答案】由空格字符(ASCII值32) 所组成的字符串;空格个数

二、判断题

16.强连通分量是无向图的极大强连通子图。( )

【答案】×

【解析】强连通分量是对有向图而言的,一般在无向图中讨论连通性。

17.哈希表与哈希文件的唯一区别是哈希文件引入了“桶”的概念( )

【答案】×

【解析】哈希文件是使用一个函数(算法) 来完成一种将关键字映射到存储器地址的映射,根据用户给出的关键字,经函数计算得到目标地址,再进行目标的检索。哈希表是根据关键码值而直接进行访问的数据结构。

18.折半查找与二元查找树的时间性能在最坏的情况下是相同的。( )

【答案】×

【解析】不是,当二元查找树是一棵单支树时,时间性能是O(n)。而折半查找依然是

第 4 页,共 51 页