序 1
前言 1
第一部分 习题与解答 1
第1章 绪论 1
1.1 基本概念 1
1.1.1 数据结构 1
1.1.2 存储方式 1
目录 1
1.1.3 算法及评价 2
1.2 习题及解答 2
1.2.1 配套教材中的习题 2
1.2.2 综合题 11
2.1.3 双向链表 15
2.2.1 配套教材中的习题 15
2.2 习题及解答 15
2.1.4 循环链表 15
2.1.1 顺序表 15
2.1.2 线性链表 15
2.1 线性表的基本概念及其运算 15
第2章 线性表 15
2.2.2 综合题 32
第3章 栈和队列 39
3.1 基本概念及其运算 39
3.1.1 栈 39
3.1.2 队列 39
3.2 习题及解答 39
3.2.1 配套教材中的习题 39
3.2.2 综合题 48
4.2.1 配套教材中的习题 55
4.2 习题及解答 55
4.1.2 串的链式存储及运算 55
4.1.1 串的顺序存储及运算 55
4.1 基本概念及其运算 55
第4章 串 55
4.2.2 综合题 64
第5章 多维数组和广义表 69
5.1 基本概念及其运算 69
5.1.1 多维数组的概念及存储 69
5.1.2 特殊矩阵及压缩存储 69
5.1.3 稀疏矩阵及压缩存储 69
5.1.4 广义表的存储及运算 69
5.2 习题及解答 70
5.2.1 配套教材中的习题 70
5.2.2 综合题 77
6.1.2 基本术语 84
6.1.1 树的定义 84
第6章 树 84
6.1 树的基本概念 84
6.1.3 树的表示 85
6.2 二叉树的基本概念和性质 85
6.2.1 二叉树的定义 85
6.2.2 二叉树的性质 85
6.2.6 树、森林和二叉树之间的相互关系 86
6.3.1 配套教材中的习题 86
6.3 习题及解答 86
6.2.5 二叉树的应用 86
6.2.4 二叉树的基本运算 86
6.2.3 二叉树的存储结构 86
6.3.2 综合题 96
第7章 图 105
7.1 图的基本概念及其运算 105
7.1.1 图的基本术语 105
7.2.1 配套教材中的习题 106
7.2 习题及解答 106
7.1.2 图的存储形式 106
7.1.3 图的基本运算 106
7.2.2 综合题 129
第8章 查找 137
8.1 基本概念 137
8.1.1 顺序查找 137
8.1.2 二分查找 137
8.1.3 分块查找 137
8.1.4 二叉排序树查找 137
8.1.5 散列查找 138
8.2 习题及解答 138
8.2.1 配套教材中的习题 138
8.2.2 综合题 145
9.1.3 选择排序 150
9.1.5 分配排序 150
9.1.4 归并排序 150
9.1.1 插入排序 150
9.1.2 交换排序 150
9.1 基本概念 150
第9章 排序 150
9.2 习题及解答 151
9.2.1 配套教材中的习题 151
9.2.2 综合题 161
第二部分 上机实验指导 167
第1章 上机环境 167
1.1 Turbo C++上机环境 167
1.1.1 建C++源程序 167
1.1.2 打开已存在的C++源程序 167
1.1.3 编译并运行C++源程序 168
1.2 Visual C++上机环境 169
1.2.1 新建C++源程序并编译和运行 170
1.2.2 打开已经存在的源程序并编译和运行 175
1.2.3 源程序的保存 177
第2章 实习内容 178
实习题一 线性表的顺序存储 178
实习题二 线性表的链式存储 182
实习题三 栈和队列的应用 191
实习题四 多维数组的应用 200
实习题五 二叉树的遍历和应用 206
实习题六 哈夫曼树的建立及应用 214
实习题七 图的邻接矩阵和遍历 217
实习题八 图的邻接表和遍历 220
实习题九 查找 223
实习题十 排序 227
第三部分 模拟试题及参考答案 235
模拟试题一 235
模拟试题二 238
模拟试题三 241
模拟试题四 243
模拟试题五 246
模拟试题六 249
模拟试题七 252
模拟试题八 254
模拟试题九 258
模拟试题十 262
模拟试题一参考答案 265
模拟试题二参考答案 267
模拟试题三参考答案 269
模拟试题四参考答案 271
模拟试题五参考答案 272
模拟试题六参考答案 273
模拟试题七参考答案 275
模拟试题八参考答案 276
模拟试题九参考答案 279
模拟试题十参考答案 281
参考文献 285