数据结构研究生入学考试模拟题(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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