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

2017年南京理工大学计算机科学与工程学院877计算机专业基础C之数据结构考研导师圈点必考题汇编

  摘要

一、填空题

1. 循环队列的引入,目的是为了克服_____。

【答案】假溢出时大量移动数据元素

【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。

2. 栈是_____的线性表,其运算遵循_____的原则。

;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)

3. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)

【答案】93

【解析】对于上三角矩阵,

4. —个字符串中_____称为该串的子串。

【答案】任意个连续的字符组成的子序列

5. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树

【解析】二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

6. 下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n

个顶点

用相邻矩阵A 表示,边的权全是正数。请在下列划线处填上正确叙述。

(1)若是边,则的值等于_____,若不是边,则的值是一个比任何边的权,矩阵的对角线元素全为0。

(2)构造最小生成树过程中,若顶点Vi 已包括进生成树,就把相邻矩阵的对角线元素A (i , i )置成若

已包括进生成树,就把矩阵元素A (i ,j )置成

(3)算法结束时,相邻矩阵中。

第 2 页,共 62 页 在B 将代入得93。

【答案】(1)边上的权值;都大的数;(2)1; 负值;(3)为负;边

7. 设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

8. 对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。 【答案】

【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。

9. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】

【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺 序查找效率一样为

10.已知一循环队列的存储空间为环队列判满的条件是( ) 【答案】

11.若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的_____和记录的_____,

【答案】比较;移动

12.N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。

【答案】2(N-1)

第 3 页,共 62 页 其中队头和队尾指针分别为front 和rear , 则此循

【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。

二、选择题

13.下列选项中,用于设备和控制器(

A.PCI

B.USB

C.AGP

D.PCI-Express

【答案】B ’接口)之间互连的接口标准是( )

【解析】设备和设备控制器之间的接口是USB 接口,其余选项不符合,故答案为B 。

14.若一棵二叉树的前序遍历序列为a ,e ,b ,d ,c ,后序遍历序列为b , c, d, e, a, 则根结点的孩子结点( )。

A. 只有e

B. 有 e 、b

C. 有 e 、c

D. 无法确定

【答案】A 。

b , d, c, 后序遍历序列为b ,c , d, 【解析】由题目可知,若一棵二叉树的前序遍历序列为a , e,

e , a , 其中a 为这棵二叉树的根结点,接下来,在前序遍历的第二个结点为e , 而后序遍历的倒数第二个结点为e , 说 明a 的孩子结点只有e 。

15.一个C 语言程序在一台32位机器上运行。程序中定义了3个变量x 、Y 和z ,其中x 和z 为int 型,Y 为short 型。当x=127,Y=-9时,执行赋值语句z=x+Y后,x 、Y 和z 的值分别是( )。

A.x=0000007FH, Y=FFF9H, z=00000076H

B.x=0000007FH, Y=FFF9H, z=FFFF0076H

C.x=0000007FH, Y=FFF7H, z=FFFF0076H

D.x=0000007FH, Y=FFF7H, z=00000076H

【答案】D

【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据,这被称为“符号扩展”。例如,x 和z 为int 型,数据长32位,Y 为short 型,数据长16位,因此首先应将y 转换成32位的数据,然后再进行加法运算。运算采用补码的形式,而x 的补码是0000007FH , Y 的补码是FFFFFFF7H , 所以x+Y=00000076H。

16.设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2, 再建立F1的硬链接文件F3, 然后删除F1。此时,F2和F3的引用计数值分别是( )。

A.0、1

第 4 页,共 62 页