一、简答题(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年出版