内容简介
《数据结构(C++语言版 第3版)/清华大学计算机系列教材》,主教材按照面向对象程序设计的思想,根据作者多年的教学积累,系统地介绍各类数据结构的功能、表示和实现,对比各类数据结构适用的应用环境;结合实际问题展示算法设计的一般性模式与方法、算法实现的主流技巧,以及算法效率的评判依据和分析方法;以高度概括的体例为线索贯穿全书,并通过对比和类比揭示数据结构与算法的内在联系,帮助读者形成整体性认识。
习题解析涵盖验证型、拓展型、反恩型、实践型和研究型习题,总计290余道大题。525道小题,激发读者的求知欲,培养自学能力和独立思考习惯。主教材和习题解析共计配有340多组、400余幅插图结合简练的叙述,40多张表格列举简明的规范、过程及要点,280余段代码及算法配合详尽而简洁的注释,使深奥抽象的概念和过程得以具体化且便于理解和记忆;推荐20余册经典的专著与教材,提供40余篇重点的学术论文,便于读者进一步钻研和拓展。
结合学生基础、专业方向、教学目标及允许课时总量等各种因素,《数据结构(C++语言版 第3版)/清华大学计算机系列教材》推荐了若干种典型的教学进度及学时分配方案,供授课教师视具体情况参考和选用。
目录
第1章 绪论
1.1 计算机与算法
1.2 复杂度度量
1.3 复杂度分析
1.4 递归
1.5 抽象数据类型
第2章 向量
2.1 从数组到向量
2.2 接口
2.3 构造与析构
2.4 动态空间管理
2.5 常规向量
2.6 有序向量
2.7 排序与下界
2.8 排序器
第3章 列表
3.1 从向量到列表
3.2 接口
3.3 列表
3.4 有序列表
3.5 排序器
第4章 栈与队列
4.1 栈
4.2 栈与递归
4.3 栈的典型应用
4.4 试探回溯法
4.5 队列
4.6 队列应用
第5章 二叉树
5.1 二叉树及其表示
5.2 编码树
5.3 二叉树的实现
5.4 遍历
5.5 Huffman编码
第6章 图
6.1 概述
6.2 抽象数据类型
6.3 邻接矩阵
6.4 邻接表
6.5 圈遍历算法概述
6.6 广度优先搜索
6.7 深度优先搜索
6.8 拓扑排序
6.9 双连通域分解
6.10 优先级搜索
6.11 最小支撑树
6.12 最短路径
第7章 搜索树
7.1 查找
7.2 二叉搜索树
7.3 平衡-叉搜索树
7.4 AVL树
第8章 高级搜索树
8.1 伸展树
8.2 B-树
8.3 红黑树
8.4 kd-树
第9章 词典
9.1 词典ADT
9.2 跳转表
9.3 散列表
9.4 散列应用
第10章 优先级队列
10.1 优先级队列ADT
10.2 堆
10.3 左式堆
第11章 串
11.1 串及串匹配
11.2 蛮力算法
11.3 KMP算法
11.4 BM算法
11.5 Karp-Rabin算法
第12章 排序
12.1 快速排序
12.2 选取与中位数
12.3 希尔排序
附录
参考文献
插图索引
表格索引
算法索引
代码索引
关键词索引