第1章 绪论
1.1 数据结构的基本概念
1.1.1 数据、数据元素、数据元素的数据类型
1.1.2 数据的逻辑结构
1.1.3 数据的存储结构
1.1.4 数据的操作
1.1.5 数据结构课程讨论的主要内容
1.2 抽象数据类型
1.3 算法和算法的时间复杂度
1.3.1 算法
1.3.2 算法的性质和设计目标
1.3.3 算法的时间效率分析
1.3.4 算法耗时的实际测试
1.3.5 数据元素个数和时间复杂度
1.4 算法书写规范
习题1
第2章 线性表
2.1 线性表概述
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型
2.2 线性表的顺序表示和实现
2.2.1 顺序表的存储结构
2.2.2 顺序表操作的实现
2.2.3 顺序表操作的效率分析
2.2.4 顺序表应用举例
2.3 线性表的链式表示和实现
2.3.1 单链表的存储结构
2.3.2 单链表的操作实现
2.3.3 单链表操作的效率分析
2.3.4 单链表应用举例
2.3.5 循环单链表
2.3.6 双向链表
2.4 静态链表
2.5 算法设计举例
2.5.1 顺序表算法设计举例
2.5.2 单链表算法设计举例
习题2
第3章 堆栈和队列
3.1 堆栈
3.1.1 堆栈的基本概念
3.1.2 堆栈的抽象数据类型
3.1.3 堆栈的顺序表示和实现
3.1.4 堆栈的链式表示和实现
3.2 堆栈应用
3.2.1 括号匹配问题
3.2.2 算术表达式计算问题
3.3 队列
3.3.1 队列的基本概念
3.3.2 队列的抽象数据类型
3.3.3 顺序队列以及存在的问题
3.3.4 顺序循环队列的表示和实现
3.3.5 链式队列
3.3.6 队列的应用
3.4 优先级队列
3.4.1 顺序优先级队列的设计和实现
3.4.2 优先级队列的应用
习题3
第4章 串
4.1 串概述
4.1.1 串及其基本概念
4.1.2 串的抽象数据类型
4.1.3 c语言的串函数
4.2 串的存储结构
4.3 串基本操作的实现算法
4.4 串的模式匹配算法
4.4.1 Brute—Force算法
4.4.2 KMP算法
4.4.3 Brute.Force算法和KMP算法的比较
习题4
第5章 数组
5.1 数组概述
5.1.1 数组的定义
5.1.2 数组的实现机制
5.1.3 数组的抽象数据类型
5.2 动态数组
……
第6章 递归算法
第7章 广义表
第8章 树和二叉树
第9章 图
第10章 排序
第11章 查找
第12章 文件
附录A 上机实习内容规范和上机实习报告范例
附录B 部分习题解答
参考文献