- 选择题(本题共10小题,每小题2分,共20分)
1、以下数据结构中哪一个是非线性结构?( D )
A. 队列 B. 栈 C. 线性表 D. 二叉树
2、栈和队列的共同特点是 ( D )。
A. 都是先进先出 B. 都是后进先出
C. 没有共同点 D. 只允许在端点操作元素
3.图的深度优先遍历的思想实际上是二叉树( A )遍历的推广。
A. 先根 B. 中根 C. 后根 D. 层次
- 填空题(本题共10空,每空2分,共20分)
- 线性结构中元素之间存在(一对一)的关系,树形结构中元素之间存在( 一对多 )关系,图状结构中元素之间存在( 多对多 )关系。
- 数据的逻辑结构和存储结构
- 算法的特点及算法分析
- 线性结构、非线性结构
- 线性表的基本操作
- 栈和队列的特征和存储
- 树、满二叉树、完全二叉树
- 二叉树的存储(链式、顺序)特征:指针域、存储要求
- 二叉树的性质,二叉树的遍历
- 图的基本概念:度、入度、出度
- 图的深度优先遍历和广度优先遍历
- 折半查找、折半查找的查找次数
- 哈希表、哈希函数、冲突解决方法
- 二叉排序树、平衡二叉树及其平衡因子
- 堆排序、快速排序、基数排序的操作特征、稳定性及复杂度
- 算法理解题(本题共4小题,每小题8分,共32分)
- 已知一棵二叉树,求先根、中根、后根和层序遍历结果。
- 已知一组字符的使用频率,构造哈夫曼树,并求哈夫曼编码。
- 已知无向图,画出图的邻接矩阵、邻接表。
4. 应用Prim算法或krukal算法构造最小生成树,给出最小生成树每一步的生长过程。
5. 已知一组关键字序列( 。。。 ),给出二叉排序树构造过程, 并求出等概率情况下查找成功时的平均查找长度。
6. 设哈希函数H(k),设关键字序列为( 。。。 )。(1)散列表长m=……,使用线性探测法处理冲突,构造哈希表,并给出查找成功时的平均查找长度。(2)链地址法,构造哈希表,并给出查找成功时的平均查找长度。
7. 已知一组关键字序列,采用希尔排序、2-路归并排序方法进行排序,写出每趟排序的结果。
- 程序填空题:(本题共5空,每空2分,共10分):
顺序表应用(顺序表归并、奇数和偶数分开存放);单链表应用(单链表归并)。
- 算法设计题:(本题8分)
1)单链表的算法:单链表创建、求最大的结点序号、删除结点。
2)二叉树遍历应用算法(求二叉树高度、二叉树叶子结点树)
- 分析题(本题10分)
1、给出一个AOV网的应用,要求用拓扑排序算法分析后解决问题。要求写算法基本思想,文字描述,写出拓扑排序结果。
2、给出一个图的应用,要求从某地出发到目的地所用的时间最短。要求采用数据结构知识进行描述,包括数据结构,以及采用的算法(文字描述)。