第三部分数据结构[专业课考试3]
考试题型:问答、分析、编程(廖老师:可用自己熟悉的程序语言、伪代码均可)
总分:60分
一、栈(Stack)、队列(Queue)和向量(Vector)
内容:
单链表,双向链表,环形链表,带哨兵节点的链表;
栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归;
队列的基本概念和性质,队列ADT及其顺序,链接实现;队列的应用;
向量基本概念和性质;向量ADT及其数组、链接实现;
二、树
内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历;
二叉树及其性质;普通树与二叉树的转换;
树的存储结构,标准形式;完全树(complete tree)的数组形式存储;
树的应用,Huffman树的定义与应用;
三、查找(search)
内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找;
Hash查找法,常见的Hash函数(直接定址法,随机数法),hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象;
BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;
平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念;
优先队列与堆,堆的定义,堆的生成,调整算法;范围查询;
四、排序
内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及基本的时间复杂度分析
五、图
内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念,Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序。
--------
3-1栈(Stack)、队列(Queue)和向量(Vector)
内容:
3-1-1单链表
3-1-1-1:新建单链表
3-1-1-2:删除链表
3-1-1-3:插入某项
3-1-1-4:删除某项
3-1-1-5:链表反转
补充:
3-1-2双向链表
3-1-2-1:新建双链表
3-1-2-2:删除链表
3-1-2-3:插入某项
3-1-2-4:删除某项
3-1-2-5:链表反转
3-1-3环形链表
带哨兵节点的链表
栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归;
队列的基本概念和性质,队列ADT及其顺序,链接实现;队列的应用;
向量基本概念和性质;向量ADT及其数组、链接实现;