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 页
相关内容
相关标签