课程主要内容包括:线性结构、非线性结构和排序、查找以及递归。其中线性结构分为线性表、栈和队列、数组和广义表以及串,非线性结构分为树结构和图结构。
对于每一种数据结构,将会介绍该数据结构的基本概念及抽象数据类型定义,然后介绍数据结构在顺序存储结构和链式存储结构下的基本操作算法实现,最后介绍该数据结构的应用。
该课程的重点侧重于各种不同数据结构在存储结构下算法实现,难点是运用该知识解决具体问题。其实践性很强,要求学生线下作大量的实验训练。
具体每章的内容如下:
第1章绪论:数据结构的基本概念,算法的基本概念,算法描述,算法分析。
第2章线性表:线性表及其逻辑结构,线性表的顺序存储结构—顺序表,线性表的链式存储结构—单链表,线性表的链式存储结构—双链表,线性表的链式存储结构—循环链表,线性表的应用,有序表。
第3章栈和队列;栈的基本概念,栈的顺序存储结构-顺序栈,栈的链式存储结构-链栈,栈的应用;队列的基本概念,队列的顺序存储结构-顺序队,队列的链式存储结构-链队,队列的应用。
第4章串:串的基本概念,串的顺序存储结构-顺序串,串的链式存储结构-链串,串的模式匹配。
第5章递归:递归的基本概念,递归的执行,递归算法的设计。
第6章数组和广义表:数组的基本概念,特殊矩阵的压缩存储,稀疏矩阵,广义表。
第7章树:树的基本概念,树的性质,树的基本运算,树的存储结构;二叉树的基本概念,二叉树树的性质,二叉树与树、森林之间的转换,二叉树存储结构,二叉树的基本运算及其实现,二叉树的遍历,二叉树遍历应用,二叉树的构造,哈夫曼树。
第8章图:图的基本概念,图的存储结构,图的遍历,图遍历算法的应用,生成树和最小生成树,最短路径,拓扑排序,AOE网与关键路径。
第9章查找:查找的基本概念,线性表的查找,树表的查找,哈希表查找。
第10章内排序:排序的基本概念,插入排序,交换排序,选择排序,归并排序,基数排序,各种内排序方法的比较和选择。