数据结构研究生入学考试模拟题(一)

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

哈尔滨工业大学

二〇〇八年硕士研究生考试模拟试题(一)

考试科目:计算机专业基础

适用专业:计算机科学与技术

I 数据结构(含高级语言)部分(共75分)

一、填空题(每空1分,共9分)

+−++的后缀表达式

1.表达式23((12*32)/434*5/7)108/9

是。

2.设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储:a11=1),则a85

的地址为。

3.设有广义表A=(((a,b),x),((a),(b)),(c,(d,(y)))),得到y的对广义表

A的操作序列为。

4.如果二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总节点数

为。

5.G是一个非连通无向图,共有28条边,则该图至少有个顶点。

6.构造n个结点的强联通图,至少有条弧。

7.设表长为1023的有序线性表,查找每个元素的概率相等,采用折半查找方法,查

找成功的ASL是。

8.分别采用堆排序、快速排序、冒泡排序和归并排序,对初太为有序的表,则最省时

间的是算法,最费时间的是算法。

二、单项选择题(每题1分,共11分)

1.静态链表中指针表示的是()

A 下一元素的地址

B 内存储器的地址

C 下一元素在数组中的位置

D 左链或右链指向的元素的地址

2.计算算法的时间复杂度是属于一种()

A 事前统计的方法

B 事前分析估算的方法

C 事后统计的方法

D 时候分析估算的方法

3.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,

当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()

A 1和5

B 2和4

C 4和2

D 5和1

4.若6行5列的数组以列序为主序顺序存储,基地址为1000,每个元素占2个存储

单元,则第3行第4列的元素(假定无第0行第0列)的地址是()

A 1040

B 1042

C 1026

D 都不正确

5.一棵124个叶节点的完全二叉树,最多有()个节点。

A 247

B 248

C 249

D 250

E 251 6.

有n (n>0)个分支结点的满二叉树的深度为( ) A n 2-1 B log 2(n+1)+1 C log 2(n+1) D log 2(n-1) 7.

某二叉树结点的中序序列为BDAECF ,后续序列为DBEFCA ,则该二叉树对应的森林包括( )棵树。 A 1 B 2 C 3 D 4 8.

一棵Huffman 树共有215个结点,对其进行Huffman 编码,共能得到( )个不同的码字。 A 107 B 108 C 214 D 215 9.

下面哪一方法可以判断出一个有向图是否有环( ) A 深度优先遍历 B 拓扑排序 C 求最短路径 D 求关键路径 10.

关于Hash 查找,下列说法正确的是( ) A hash 函数构造的越复杂越好,因为这样随机性好,冲突小。 B 除留余数法是所有Hash 函数中最好的; C 不存在特别好与坏的Hash 函数,要视情况而定。 D 若需在Hash 表中删去一个元素,不管用何种方法解决冲突都只需简单的将该元素删去即可。 11. 对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后的数据的排列变为{4,9,

-1,8,20,7,5};则采用的是( )排序。

A 选择

B 快速

C 希尔

D 冒泡

三、判断下列叙述是否正确,若正确,请画“√”,否则画“×”(每题1分,共9分)

1. 在顺序存储结构中,有时也存储数据结构中元素之间的关系。( )。

2. 完全二叉树的前序序列中,若结点u 在结点v 之前,则u 一定是v 的祖先。( )

3. Huffman 树的节点个数不能是偶数( ) 。

4. 若有向图不存在回路,即使不用访问标志位同一结点也不会被访问两次。( )

5. 在AOE 图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多

少。( )

6. 折半查找的查找速度一定比顺序查找法快。( )

7. 在平衡二叉树中,向某个平衡因子不为零的节点的树中插入一新结点,必定引起平

衡旋转。( )

8. 若装填因子a 为1,则向Hash 表中散列元素时一定会产生冲突。( )

9. 在初始表已经有序时,快速排序算法的时间复杂度为()2log n O n 。

( ) 四、简答(共18分)

1. 数据类型和抽象数据类型是如何定义的?二者有何不同和相同?抽象数据类型的

主要特点是什么?使用抽象数据类型的主要好处是什么?

2. 说明在线性表的链式存储结构中,头指针和头节点之间的根本区别;头节点和首元

节点的关系。

3. 已知递归函数F (m ),(其中DIV 为整除):

1m 0()(2)m>0F m mF mDIV =⎧=⎨⎩当时当时

(1) 写出F (m )的递归算法;

(2) 写出F (m )的非递归算法。

4. 若森林共有n 个结点和b 条边(b

5. 在什么情况下,Prim 算法和Kruskal 算法生成不同的MST ?

6. Hash 方法的平均查找长度取决与什么?是否与结点个数N 有关?处理冲突的方法

主要有哪些?

五、算法设计(共28分)

1. 已知长度为n 的线性表A 采用顺序存储结构,请设计一算法,满足时间复杂度为

O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item 的数据元素。(O(1)表示算法的辅助空间为常量)

2. 设稀疏矩阵M m*n 中有t 个非零元素,用三元组顺序表的方式存储。请设计一个算

法,计算矩阵M 的转置矩阵N ,要求转置算法的时间复杂度为O (n+t )。

3. 试写一非递归算法,使得右图中树的遍历输出顺序为字母顺序。

4. 假设二叉排序树T 中各个元素值均不相同,试设计一递归算法按递减次序打印各

元素的值。

B C A

E

F D H

J P I O T N R K L Q

U

M S G

相关文档
最新文档