一、简答题(
30
分,每题
6
分)
1
、比较顺序存储结构和链式存储结构的特点。
2
、散列表的构建,查找比较次数,删除某元素后的散列表。
3
、描述快速排序的思想。
4
、给出二叉树的先序和中序,求叶子节点。
5
、
DFS
和
BFS
分别用哪种数据结构来暂存顶点?要使连通图的生成树高度最小,应该采用哪种遍历?
二、应用题(
60
分,每题
10
分)
1
、给出一堆数字,用基数排序排列(基数为
10
),给出各步状态。
2
、一对称矩阵,用一维数组存储下三角,行映射模式,给出映射公式。
3
、给一个完全二叉树(一组数字序列),求先序序列,另外将其调整到最大堆,给出调整后的序列。
4
、
B
树的插入和删除。
5
、给出一个图,分别给出
DFS
和
BFS
遍历序列。
6
、给出一个带权图,写出其邻接矩阵形式,邻接表形式。最后用迪杰斯特拉算法求顶点
1
到其他各个顶点的最短路径,写出各步状态。
三、算法题(
60
分,每题
20
分)
1
、写出单链表
Chain
类的类声明,写单链表原地逆序的算法。
2
、二叉链式存储结构,写算法判断是否是满二叉树。(
PS
:刚开始审错题,看成了判断完全二叉树,结果写了一大面,最后全划掉了
=
。
=
)
3
、邻接矩阵,用一维数据存储,行映射模式,写算法求给定顶点的度。并给出其复杂性。
更多
考研真题下载。
参考教材
《数据结构,算法与应用—— C++语言描述》Data Structures,Algorithms,and Applications in C++ Sartaj Sahni 著 汪诗林,孙晓东 译 机械工业出版社 2000年出版