第一篇数据结构实践
第一章 线性表
1. l 内容与要点
1. 1. 1 线性表的顺序存储
1. 1. 2 线性表的链式存储
l. 2 线性表的实践
1. 2. 1 顺序表实践
实验一 顺序表的建立
实验二 顺序表的插入
实验三 顺序表的删除
实验四 顺序表的复制
l. 2. 2 线性表的链式存储结构实践
实验五 单链表的建立
实验六 单链表的插入
实验七 单链表的删除
实验八 单链表的查找
实验九 单链表的遍历
实验十 双向链表的建立
实验十一 双向链表的插入
实验十二 双向链表的删除
第二章 栈和队列
2. l 内容与要点
2. 1. 1 栈
2. l. 2 队列
2. 2 栈的实践
实验一 顺序栈的建立及入栈
实验二 顺序栈的建立及出栈
实验三 顺序栈的共用
实验四 链栈的建立及入栈
实验五 链栈的建立及出栈
2. 3 队列实践
实验六 顺序队列的建立及入队
实验七 顺序队列的建立及出队
实验八 循环队列的建立及入队
实验九 循环队列的建立及出队
实验十 链队列的建立及入队
实验十一 链队列的建立及出队
第三章 串与数组
3. 1 内容与要点
3. 1. 1 串
3. 1. 2 数组与压缩存储
3. 2 串的实践
实验一 求顺序串的子串
实验二 判断两串是否相等
实验三 两串合并成一个串
实验四 串的简单模式匹配
实验五 串的改进模式匹配
3. 3 数组实践
实验六 稀疏矩阵的转置
第四章 树和二叉树
4. 1 内容与要点
4. 1. 1 树和二叉树的概念与定义
4. 1. 2 二叉树的顺序存储与链式存储
4. 1. 3 二叉树的遍历
4. 1. 4 哈夫曼树
4. 2 树和二叉树实践
实验一 用链式存储结构建立排序二叉树
实验二 用递归算法遍历二又树
实验三 用非递归算法追历二叉树
实验四 由遍历序列恢复二叉树
实验五 求哈夫曼编码
第五章 图
5. 1 内容与要点
5. 1. 1 图的存储结构
5. 1. 2 图的遍历
5. 1. 3 最小生成树与最短路径
5. 2 图的实践
实验一 建立无向图的邻接表
实验二 建立有向图的邻接表
实验三 图的深度优先搜索
实验四 图的广度优先搜索
实验五 用prim算法构造最小生成树
实验六 求最短路径
第六章 排序
6. l 内容与要点
6. 1. l 插入排序
6. 1. 2 交换排序
6. 1. 3 选择排序
6. 1. 4 归并排序
6. 1. 5 基数排序
6. 2 排序实践
实验一 直接插入排序
实验二 希尔排序
实验三 冒泡排序
实验四 快速排序
实验五 直接选择排序
实验六 堆排序
实验七 归并排序
实验八 基数排序
第七章 查找
7. 1 内容与要点
7. l. l 顺序查找
7. 1. 2 折半查找
7. 1. 3 二叉排序树查找
7. 1. 4 平衡二叉树查找
7. 1. 5 哈希(Hash)表查找
7. 2 查找实践
实验一 顺序查找
实验二 折半查找
实验三 二叉排序树查找
实验四 哈希表查找
第二篇 数据结构的应用与提高
第八章 数据结构应用实例
8. 1 线性表应用---仓库管理
8. 2 栈的应用--表达式转换
8. 3 队列应用--一个简单事件的规划问题
8. 4 二叉树应用--银行财务实时处理系统
8. 5 图的应用--工程工期控制问题
8. 6 查找应用--学生档案管理
第九章 数据结构典型问题研究
9. 1 最短路径输出问题研究
9. 1. 1 未保存顶点次序的最短路径输出
9. 1. 2 保存顶点次序的最短路径输出
9. 1. 3 参考程序
9. 2 递归转换为非递归问题研究
9. 2. 1 汉诺塔问题研究
9. 2. 2 八皇后问题研究
9. 3 人工智能应用研究
9. 3. l 八数码问题研究
9. 3. 2 丢钥匙问题
参考文献