2017年南京理工大学计算机科学与工程学院877计算机专业基础C之数据结构考研题库
● 摘要
一、填空题
1. 如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,请在算法,其空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag ,lcft ,data ,right ,rflag )中:lflag=0,lcft 指向其左孩子,lflag=1,left 指向其前驱:rflag=0,right 指向其右孩子,rflag=1,right 指向其后继。
Prior (node , x ) { if(node !=null)
If ( (1) ) *x=node->right;else * x-node->left;
}
next (bt , node, x )/*bt是二叉树的树根*/ { (2) ;
if (node->rflag)(3); else {do t=*x;;
while (*x==node ); *x=t; } }
【答案】nodc->rflag==O; *x=ht; *x=nodc->right; prior (t , X )
2. 文件由_____组成;记录由_____组成。
【答案】记录;数据项
3. 完善算法:求KMP 算法.next 数组。
END ; 【答案】
4. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
5. 克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。
【答案】O (eloge ); 边稀疏
6. VSAM (虚拟存储存取方法)文件的优点是:动态地_____,不需要文件进行_____,并能较快地_____进行查找。
【答案】分配和释放存储空间;重组;对插入的记录
7. 一个有2001个结点的完全二叉树的高度是_____。
【答案】11
【解析】
完全二叉树的高度
8. —棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为 _____。
【答案】2
【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。
9. 设二维数组A 的行和列的下标范围分别为和每个元素占2个单元,按行优先顺序存储,第一个元素的存储起始位置为b ,则存储位置为
【答案】
当其值为
处的元素为_____。
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是
时,则i=2,j=3。
10.用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。
【答案】
【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。
11.深度为H 的完全二叉树至少有_____个结点; 至多有_____个结点; H 和结点总数N 之间的关系是_____。
【答案】
12.求最短路径的Dijkstra 算法的时间复杂度为_____。
【答案】
二、选择题
13.采用指令Cache 与数据Cache 分离的主要目的是( )
A. 减低Cache 的缺失损失 B. 提高Cache 的命中率 C. 减低CPU 平均访问时间 D. 减少指令流水线资源冲突 【答案】D
【解析】指令流水线不会断流,预取过来的都是指令
14.若某通信链路的数据传输速率为采用4相位调制,则该链路的波特率是( )。
A.600波特 B.1200波特 C.4800波特 D.9600波特 【答案】B
【解析】注意无噪声下的码元速率极限值B 与信道带宽H 的关系:B = 2xH (Baud ), 而奈奎斯特公式一无噪信道传输能力公式是而可以得到波特率与数据传输速率的关系,即
N 为一个码元所取的离散值个数。从
在本题中数据传输速率C = 2400,
N=4,因此波特率是1200, 答案是B 。
15.若线性表最常用的操作是存取第I 个元素及其前驱和后继元素的值,为节省时间应采用的存储方式( )。
A. 单链表 B. 双向链表 C. 单循环链表 D. 顺序表 【答案】D
【解析】线性表采用顺序表,便于进行存取任一指定序号的元素。
16.一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到( )个不同的码字。
A.107 B.108 C.214 D.215
【答案】B
相关内容
相关标签