哈尔滨工业大学数据结构与算法历年考题汇总Word文档格式.docx
《哈尔滨工业大学数据结构与算法历年考题汇总Word文档格式.docx》由会员分享,可在线阅读,更多相关《哈尔滨工业大学数据结构与算法历年考题汇总Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
C.待分类的数据已基本有序D.待分类的数据值差过大.
2.两路归并排序中,归并的趟数是。
A.O(n)B.O(log2n)C.O(nlog2n)D.O(n2)
注意行为规范
遵守考场纪律
第1页,共6页
3.对外部分类的K路平衡归并,采用败者树时,归并的效率与K。
A.有关B.无关C.不能确定D.都不对
4.对于一个索引顺序文件,索引表中的每个索引项对应主文件中的。
A.一条记录B.多条记录
C.所有记录D.三条以上记录
5..若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址时。
A.112B.144C.148D.412
6.若频繁地对线性表进行插入和删除操作,该线性表应该采用存储结构。
A.散列B.顺序C.链式D.索引
7.若长度为n的非空线性表采用顺序储存结构,删除表中第i个数据元素,需要移动表中个数据元素。
A.n+iB.n-iC.n-i+1D.n-i-1
8.栈和队列的相同之处是。
A.元素的进出满足先进后出B.元素的进出满足后进先出
C.只允许在端点进行插入和删除操作D.无共同点
9.在一棵高度为k的二叉树中,最多含有()个结点。
A.2k-1B.2k-lC.2k-1D.k
10.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序()。
A.发生改变B.不发生改变C.不能确定D.以上都不对
三.判断题,正确的在括号内画∨,错误的在括号内画╳。
(每小题1分,共10分)
1.树的父链表示就是用数组表示树的存储结构。
().
2.任何二元树都唯一对应一个森林,反之亦然。
.()
3.有向图的邻接矩阵一定不是对称的。
()
4.AOE网中,只有一个入度为0的顶点(起始点),只有一个出度为0的顶点(结束点)。
5.关键路径可能不只一条,但缩短某一关键路径一定能够缩短工期。
6.顺序存储方式只能用于存储线性结构。
7.用循环链表作为存储结构的队列就是循环队列。
8.倒排文件的主要优点为便于节省空间()。
9.一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准元素得到的一次划分结果为40,38,46,56,79,84()。
10.算法分析的目的是分析算法的易读性()。
四.简答题
1.简述如何用两个栈模拟一个队列的入队和出队操作.(6分)
2.对于图G5所示的树:
(7分)
(1)写出先根遍历得到的结点序列;
(2)写出按层遍历得到的结点序列;
(3)画出转换后得到的二元树
图G5
五.算法设计
1.设二元树采用左右链存储,写出后序遍历该二元树的非递归算法。
(12分)
2.设图中各边上的权值均相等,试以邻接表为存储结构,写出求源点Vi到Vj的最短路径算法。
(15分)..
哈工大数据结构与算法2009年试题
2010年春A卷
一、填空题(每空1分,共15分)
1.
在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件
是____________。
2.某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,
则其后序遍历序列是_______________。
3.在有n个叶子的哈夫曼树中,分支结点总数为___________个。
4.对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的
时间复杂度为___________。
5.
表达式a*(b+c)-d的后缀表达式是___________。
6.
假定一棵二叉树的结点数为18,则它的最小深度为_______,最大深
度为______。
7.
设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的
元素(包括对角线上元素)存放在n(n+1)个连续的存储单元中,则A[i][j]与A[0][0]之间有_______
个数据元素。
8.
设一组初始记录关键字序列为(20,18,22,16,30,19),则根据这些初始关键字序列建成的初始堆为________________________。
9.
磁盘文件的归并技术有______________、____________、__________。
10.
设有向图G中有向边的集合E={<
1,2>
,<
2,3>
1,4>
4,2>
,
<
4,3>
},则该图的一种拓扑序列为____________________。
11.设一组初始记录关键字序列为(345,253,674,924,627),则用基
数排序需要进行________趟的分配和回收才能使得初始关键字序列变成有序序列。
12.
利用Dijkstra算法求从有向图顶点v1到其他各顶点的最短路径要求
边上权值_________。
二、选择题(每题1分,共15分)
1.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用___________存储方式最节省时间。
A.
顺序表
B.双链表
C.
单循环链表
D.
带头结点的双循环链表0
2.在一个具有n个单元的顺序栈中,假定以地址低端(即下标为0的单元)作为栈底,以top作为栈顶指针,当出栈时,top的变化为______。
不变
B.
top=0;
C.top=top-1;
top=top+1;
3.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为_________。
A、
10,15,14,18,21,36,40,20
B、
10,15,14,18,20,40,36,21
C、
10,15,14,20,18,40,36,2l
D、
15,10,14,18,20,36,40,21
4.任何一棵二叉树的叶子结点在前序、中序、后序遍历序列中的相对次序________。
A.肯定不发生改变
B.肯定发生改变
C.不能确定
D.有时发生变化
5.用有向无环图描述表达式(A+B)*((A+B)/A),至少需要顶点的数目为_________。
A.5
6
8
9
对线性表进行二分查找时,要求线性表必须___________。
A、以顺序方式存储
B、以链接方式存储
C、以顺序方式存储,且数据元素有序
D、以链接方式存储,且数据方式有序
设散列表表长m=14,散列函数H(k)=k
mod
11。
表中已有15、38、61、84四个元素,如果用线性探侧法处理冲突,则元素49的存储地址是_________。
3
5
若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定
的,则可选择的排序方法是_________。
A.快速排序
堆排序
C.归并排序
插入排序
下面关于m阶B树的说法正确的是__________。
①
每个结点至少有两株非空子树
②
树中每个结点至多有m-1个关键字
③
所有的叶子都在同一层上
④
当插入一个记录引起B树分裂后,树增高一层
①②③
B.②③
②③④
①③
已知一个有序表为(12,18,24,35,47,50,62,83,90,115,
134),当折半查找值为90的元素时,经过_______次比较后查找成功。
A.2
B.3
C.4
D.5
11.能有效缩短关键路径长度的方法是_________。
A.
缩短任意一个活动的持续时间
B.
缩短关键路径上任意一个关键活动的持续时间
C.
缩短多条关键路径上共有的任意一个关键活动的持续时间
D.
缩短所有关键路径上共有的任意一个关键活动的持续时间
12.在采用线性探测法处理冲突所构成的闭散列表上进行查找,可能要
探测多个位置,在查找成功的情况下,所探测的这些位置的关键字值________。
A.一定都是同义词
B.一定都不是同义词
C.不一定都是同义词
D.都相同
13.设哈夫曼编码的长度不超过4,若已对两个字符编码为1和01,则最多还可以对_______个字符编码。
A.2
B.3
C.4
D.5
14.已知图的邻接表如下所示,根据算法,则从顶点0出发深度优先
遍历的结点序列是____________。
A.0
1
2
0
15.
在具有n个结点的有序单链表中插入一个新结点并仍然有序的
时间复杂度是_________。
A.O
(1)
B.O(n)
C.O(n2)
D.O(nlog2n)
三、简答题:
每题10分,共20分
.
1.一个按数组元素有序的一维数组一定是堆吗?
请说明理由。
2.
设有一组初始记录关键字为(45,80,48,40,22,78),可以构造出
一棵二叉排序树,若不是平衡树则调整平衡,并给出其前序遍历该树的序列,并写出右旋转函数算法。
四、算法设计:
要求:
⑴描述算法设计的基本思想
⑵描述算法的详细实现步骤
⑶根据设计思想和实现步骤,采用程序设计语言描述算法(使用C
或C++或JAVA
语言实),关键之处请给出简要注释。
(栈、队列的存储结构、基本操作可以直接引用)
1.对给定的序号j(1