第1章 绪论 1
1.1 数据结构实验概述 1
1.2 预备知识 3
1.3 实验环境 5
第2章 线性表 6
2.1 背景知识 6
2.1.1 线性表的逻辑结构 6
2.1.2 线性表的物理结构 7
2.2 基础实验 8
2.2.1 实验一 顺序表的基本操作 8
2.2.2 实验二 线性链表的基本操作 16
2.3 综合实验 25
2.3.1 实验一 集合的交、差、并运算 25
2.3.2 实验二 一元多项式求和 32
2.3.3 实验三 约瑟夫环问题 38
第3章 栈和队列 43
3.1 背景知识 43
3.1.1 栈的逻辑结构 43
3.1.2 栈的物理结构 44
3.1.3 队列的逻辑结构 45
3.1.4 队列的物理结构 45
3.2 基础实验 47
3.2.1 实验一 栈的基本操作 47
3.2.2 实验二 链队列的基本操作 52
3.2.3 实验三 循环队列的基本操作 59
3.3 综合实验 64
3.3.1 实验一 数制转换 64
3.3.2 实验二 表达式求值 66
3.3.3 实验三 杨辉三角 69
第4章 串 71
4.1 背景知识 71
4.1.1 串的逻辑结构 71
4.1.2 串的物理结构 72
4.2 基础实验 72
4.2.1 实验一 定长顺序存储串的基本操作 72
4.2.2 实验二 堆分配存储串的基本操作 75
4.3 综合实验 79
4.3.1 串的模式匹配 79
第5章 数组 82
5.1 背景知识 82
5.1.1 数组的逻辑结构 82
5.1.2 数组的物理结构 83
5.2 基础实验 84
5.2.1 实验一 对称矩阵的存储 84
5.2.2 实验二 稀疏矩阵的转置运算 86
5.3 综合实验 90
5.3.1 魔方阵的求解 90
第6章 二叉树 92
6.1 背景知识 92
6.1.1 二叉树的逻辑结构 92
6.1.2 二叉树的物理结构 93
6.2 基础实验 95
6.2.1 实验一 二叉树的构造和遍历 95
6.2.2 实验二 线索二叉树 100
6.3 综合实验 105
6.3.1 实验一 二叉树的参数计算 105
6.3.2 实验二 Huffman(赫夫曼)编码 108
第7章 图 111
7.1 背景知识 111
7.1.1 图的逻辑结构 111
7.1.2 图的物理结构 112
7.2 基础实验 114
7.2.1 实验一 图的深度优先遍历 114
7.2.2 实验二 图的广度优先遍历 118
7.3 综合实验 121
7.3.1 实验一 求解关键路径 121
7.3.2 实验二 维修部选址问题 124
第8章 查找和排序 127
8.1 背景知识 127
8.1.1 查找 127
8.1.2 排序 127
8.2 基础实验 128
8.2.1 实验一 静态查找表中的查找 128
8.2.2 实验二 基于二叉排序树的查找 132
8.2.3 实验三 哈希查找 134
8.3 综合实验 137
8.3.1 实验一 综合排序 137
8.3.2 实验二 学生信息管理 141
附录:参考程序 143
【实验4.2.1】定长顺序串实验参考程序 143
【实验4.2.2】堆分配存储串实验参考程序 146
【实验5.2.1】对称矩阵实验参考程序 150
【实验5.2.2】稀疏矩阵转置实验参考程序 152
【实验6.2.1】二叉树构造与遍历实验参考程序 154
【实验6.2.2】线索二叉树实验参考程序 161
【实验7.2.1】图的深度优先遍历实验参考程序 164
【实验7.2.2】图的广度优先遍历实验参考程序 168
【实验ShortestPath】最短路径实验参考程序 174
【实验8.2.1】静态查找表实验参考程序 178
【实验8.2.2】二叉排序树实验参考程序 181
【实验8.2.1】哈希查找实验参考程序 185
参考文献 188