2005研究生入学考试数据结构试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南京林业大学2005年攻读硕士学位研究生入学考试

数据结构试题

注意事项:

1. 答案一律写在答题纸上;

2. 答案卷应字迹清楚、语义确切;

3. 算法应对主要数据类型、变量给出说明,所写算法应结构清晰、简明易懂,可加上必要的注释;

4. 算法可用(类)PASCAL语言、C语言等你所熟悉的高级语言编写,但要注明语种。

一.是非题:(判断下列各题是否正确,正确的在括号内打“√”,错的打“×”。每小题2分,共20分)

1.数据的逻辑结构独立于计算机,物理结构依赖于计算机。()

2.线性表、栈和队列的逻辑结构完全相同。()

3.顺序存储方式只能用于存储线性结构。()

4.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。()

5.先根遍历树和先序遍历与该树对应的二叉树,其结果不同。()

6.外部排序与外部设备的特性无关。()

7.不使用递归,也可以实现二叉树的先序、中序和后序遍历。()

8.在哈夫曼编码中,当两个字符出现的频率相同时,其编码也相同,对于这种情况应作特殊处理。()

9. 有回路的图不能进行拓扑排序。()

10. 二叉排序树的查找和折半查找的时间性能相同。()

二.单项选择题(本大题共15小题,每小题2分,共30分)。

1.被计算机加工的数据元素不是孤立无关的,它们彼此之间一般存在着某种联系。通常将数据元素之间的这种联系称为______。

A.规则

B.集合

C.结构

D.运算

2.对于顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素是大约要移动表中的______个元素。

A.n/2

B.(n+1)/2

C.(n-1)/2

D.n

3.线性表采用链式存储时,其地址______。

A. 必须是连续的

B. 部分地址必须是连续的

C. 一定是不连续的

D. 连续与否均可以

4.设有一个空栈,栈顶指针为1000H(十六进制,下同),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,POP,PUSH后,栈顶指针是______。

A.1002H

B.1003H

C.1004H

D.1005H

5.将有关二叉树的概念推广到三叉树,则一棵有244个结点的完全三叉树的高度是______。A. 4 B.5 C.6 D.7

6.数组A[0..5,0..6]的每个元素占5个字节,将其按列优先

....次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是______。

A.1175 B.1180 C.1205 D.1210

7.设森林F对应的二叉树为B,B有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是______。

A.m-n B.m-n+1 C.n+1 D.条件不足,无法确定

8.有n个顶点的强连通图至少有______条边。

A. n+1

B. n

C.n-1

D.n(n-1)

9.堆是一种有用的数据结构。以下关键字序列______是一个堆。

A.16,72,31,23,94,53

B.94,23,31,72,16,53

C.16,53,23,94,31,72

D.16,23,53,31,94,72

10.关键路径是AOV网中______。

A.从源点到汇点的最短路径

B.从源点到汇点的最长路径

C.最长的回路

D.最短的回路

11.折半查找的时间复杂度是______。

A.O(n2)

B.o(n)

C.o(nlog

2n) D.o(log

2

n)

12.具有线性结构的数据结构是______。

A.树结构

B.图结构

C.广义表

D.文件结构

13.设无向图G中顶点数为n,则图G最多有______条边。

A.n

B.n-1

C.n(n-1)/2

D.n(n-1)

14.设某有向图中有n个顶点,e条边,进行拓扑排序时总的时间复杂度为______。

A. o(nlog

2e) B. o(e+n) C. o(elog

2

n) D. o(e*n)

15.不满足平衡查找树概念的是______。

A.BST树

B.AVL树

C.折半查找判定树

D.B+树

三.填空题:(本大题共10小题,每小题2分,共20分)

1.分析以下程序段的时间复杂度为______(用大“O”记号表示执行时间为n(正整数)的函数)。

x=n;

y=0;

While(x>=(y+1)*(y+1)) y++;

2.为了增加内存空间的利用率和减少发生上溢的可能性,由两个栈共享一片连续的内存空间时,应将两栈的______分别设在这片内存空间的两端,这样,只有当______时,才产生上溢。

3.一个n*n 的对称矩阵,如果以相同的元只存储一次的原则进行压缩存储,则其压缩后的存储容量为______。

4.广义表(a,(b,c),d,e,((f,g),h))的长度为______,深度为______。

5.一棵有n(n>=1)个结点的d 度树,若用多重链表表示,树中每个结点都有d 个链域,则在树的nd 个链域中,有______个是空链域,只有______个是非空链域。

6.若二叉树有n 个结点,当执行中序遍历的递归程序时,在最坏情况下为处理递归调用所设的栈需要______个单元。

7.一棵有n 0个叶子结点的哈夫曼树上,其结点总数为______。

8.对于含有n 个顶点e 条边的无向连通图,prim 算法适用于求______网的最小代价生成树,而Kruskal 算法适用于求______网的最小代价生成树。

9.Dijkstra 最短路径算法从源点到其余各顶点的最短路径长度按________次序产生,设有向图如下,则当源点取顶点1时,从顶点1到2的最短路径长度是______。

① ② ⑤

③ ④ ⑥

10.冒泡排序算法不会改变具有相同排序码的记录的相对次序,故冒泡排序算法是______,对n 个不同的元素进行冒泡排序(从小到大),在最坏情况下比较次数为______。

四.解答题:(本大题共4小题,共20分)

1. 证明:在求解n 阶汉诺塔问题中,至少应执行的move 操作次数为2n -1。

2. 给出以S=’aabcbabcaabcaaba ’为目标串,T=’abcaaba ’为模式串的KMP 快速匹配过程。

3. 已知一棵度为m 的树中有:n1个度为1的结点,n2个度为2的结点,……,n m 个度为m 的结点,计算该树中共有多少叶子结点?有多少非终端结点?

4. 已知关键字序列为(20,30,50,60,70,80),依照此顺序建立一棵3阶B-树,给出建立的过程及结果树。若删除了50和60,B-树的形态如何?

3 35

30 20 15 15 10 20 10 50 45

相关文档
最新文档