目录
第1章绪论
问题引入: 线性结构、树结构、图结构经典问题模型
1.1数据结构概论
1.1.1数据结构的研究对象
1.1.2数据结构的基本概念
1.1.3数据结构的研究内容
1.2算法
1.2.1算法的概念
1.2.2算法的特征
1.2.3算法的描述
1.2.4算法分析及评价
1.3C/C++
1.3.1C/C++中常用的数据类型
1.3.2C/C++语句
应用范例: 人工智能
小结
重点、难点例题解析
综合练习
第2章线性表
问题引入: 一元多项式的运算
2.1线性表的基本概念
2.1.1线性表的定义
2.1.2线性表的逻辑特征
2.2线性表的顺序存储结构
2.2.1线性表的顺序存储结构——顺序表
2.2.2顺序表基本运算的实现
2.3线性表的链式存储结构
2.3.1线性表的链式存储结构——链表
2.3.2单链表基本运算的实现
2.3.3顺序存储和链式存储的比较
2.3.4双链表
2.3.5循环链表
2.3.6静态链表
2.4线性表的应用
应用范例: 约瑟夫环
小结
重点、难点例题解析
综合练习
第3章栈和队列
问题引入: 餐厅订单管理
3.1栈
3.1.1栈的定义及操作特性
3.1.2栈的顺序存储结构及其基本运算的实现
3.1.3栈的链式存储结构及其基本运算的实现
3.1.4栈的应用
3.2队列
3.2.1队列的定义及操作特性
3.2.2队列的顺序存储结构及其基本运算的实现
3.2.3队列的链式存储结构及其基本运算的实现
3.2.4队列的应用
应用范例: 迷宫问题
小结
重点、难点例题解析
综合练习
第4章串
问题引入: 契合匹配
4.1串的定义及基本概念
4.1.1串的定义
4.1.2串的基本运算
4.1.3串的存储结构
4.2串的顺序存储结构
4.2.1顺序串的定义
4.2.2顺序串的基本运算
4.3串的链式存储结构——链串
4.3.1链串的定义
4.3.2链串的基本运算
4.4堆
4.4.1堆的定义
4.4.2串的堆存储算法
4.5串的模式匹配算法
4.5.1BruteForce算法
4.5.2KMP算法
4.5.3next数组及nextval数组
4.6串的应用
应用范例: 网络爬虫中KMP的应用
小结
重点、难点例题解析
综合练习
第5章数组和广义表
问题引入: 矩阵连乘
5.1数组
5.1.1数组的基本概念
5.1.2数组的存储结构
5.2特殊矩阵的压缩存储
5.2.1对称矩阵
5.2.2三角矩阵
5.2.3对角矩阵
5.3稀疏矩阵
5.3.1定义
5.3.2稀疏矩阵的存储方法
5.4应用案例
5.5广义表
5.5.1广义表的定义及逻辑结构
5.5.2广义表的存储
5.5.3广义表的基本运算
应用范例: 语法树的广义表表示
小结
重点、难点例题解析
综合练习
第6章树和二叉树
问题引入: 病毒溯源
6.1树的基本概念
6.1.1树的定义
6.1.2树的基本术语
6.1.3树的逻辑表示方法
6.2二叉树
6.2.1二叉树的概念及特点
6.2.2二叉树的性质
6.2.3二叉树的存储结构
6.2.4二叉树的基本运算及其实现
6.3二叉树的遍历
6.3.1二叉树遍历的概念
6.3.2二叉树遍历的方法
6.3.3二叉树遍历的应用
6.3.4二叉树遍历递归算法
6.3.5二叉树遍历非递归算法
6.4线索二叉树
6.4.1线索二叉树的定义
6.4.2线索二叉树的存储结构
6.4.3线索二叉树的遍历
6.5树和森林
6.5.1树的存储结构
6.5.2树、森林与二叉树的转换
6.5.3树和森林的遍历
6.6哈夫曼树
6.6.1哈夫曼树概述
6.6.2哈夫曼树的构造
6.6.3哈夫曼编码
应用范例: 求解公共祖先问题
小结
重点、难点例题解析
综合练习
第7章图
问题引入: 瓷砖
7.1图的基本概念
7.1.1图的定义
7.1.2图的基本术语
7.1.3图的基本操作
7.2图的存储结构
7.2.1邻接矩阵
7.2.2邻接表
7.2.3十字链表
7.2.4邻接多重表
7.2.5图的存储方法的比较
7.3图的遍历
7.3.1图的遍历的概念
7.3.2深度优先搜索遍历
7.3.3广度优先搜索遍历
7.3.4非连通图的遍历
7.4图的应用
7.4.1最小生成树
7.4.2最短路径
7.4.3拓扑排序
7.4.4AOE网与关键路径
应用范例: 求解最少换车次数问题
小结
重点、难点例题解析
综合练习
第8章查找
问题引入: 图书检索问题
8.1查找的基本概念
8.2静态查找
8.2.1顺序查找
8.2.2二分查找
8.2.3分块查找
8.3动态查找
8.3.1二叉排序树
8.3.2平衡二叉树
8.3.3B树
8.3.4B+树
8.4哈希查找
8.4.1哈希表的基本概念
8.4.2哈希函数的构造方法
8.4.3哈希冲突解决方法
8.4.4哈希表上的运算
应用范例: 图书馆管理系统
小结
重点、难点例题解析
综合练习
第9章排序
问题引入: 学生信息表
9.1排序的基本概念
9.1.1基本概念
9.1.2排序方法的分类
9.1.3待排序序列的存储方法
9.2插入排序
9.2.1直接插入排序
9.2.2希尔排序
9.3交换排序
9.3.1冒泡排序
9.3.2快速排序
9.4选择排序
9.4.1直接选择排序
9.4.2堆排序
9.5归并排序
9.6基数排序
9.7各种排序方法的综合比较
9.8外部排序简介
应用范例: 考试录取中的成绩排序
小结
重点、难点例题解析
综合练习
综合实验指导
实验1形参操作
实验2顺序表操作
实验3单链表操作
实验4栈操作
实验5队列操作
实验6二叉树操作
实验7哈夫曼树操作
实验8图的创建操作
实验9图的遍历操作
实验10图的最短路径操作
实验11查找操作
实验12排序操作
实验13综合课程设计——校园地图导航系统
附录各章综合练习参考答案
参考文献
