本书以数据结构为主线、算法为辅线组织教学内容。全书共10章,内容包括绪论、线性表、字符串、栈与队列、二叉树与树、集合与字典、高级字典结构、排序、图、算法分析与设计。本书第1版为“面向21世纪课程教材”,2004年被评为“北京市高等教育精品教材”;第2版为普通高等教育“十一五”国家级规划教材,2007年获“普通高等教育精品教材”奖。第3版为“十二五”普通高等教育本科国家级规划教材。
本书体系完整、概念清楚、内容充实、取材适当,采用“数据结构作为抽象数据类型的物理实现”观点,既提高了抽象数据类型在本课程教学中的地位和作用,又突出了自身的教学重点。本书在讲解知识的同时,重视能力的培养,以提高学生运用知识解决实际问题的能力。新版对第2版教材中许多算法进行了改进,力求为读者提供一套具有良好C语言风格、更便于教学的程序代码,以期帮助学生从中体会到算法的魅力和C语言编程的艺术,提高学生的学习兴趣。同时,新版内容也适当地提高了知识的深度和广度,完全覆盖了最新考研大纲的内容要求。
本书许多知识模块具有一定的独立性和相关性,因此不同专业和不同水平的读者可以根据需要组合使用。本书既可以作为计算机专业本科“数据结构”课程教材,也可以作为理工科有关专业本科和计算机专业专科相关课程的教材或考研参考书。
- 前言
- 第1章 绪论
- 1.1 从问题到程序
- 1.2 抽象数据类型
- 1.3 数据结构
- 1.4 算法
- 小结
- 习题
- 第2章 线性表
- 2.1 基本概念与抽象数据类型
- 2.2 顺序表示
- 2.3 链接表示
- 2.4 应用举例
- 2.5 矩阵
- 2.6 广义表与动态存储管理
- 小结
- 习题
- 第3章 字符串
- 3.1 字符串及其抽象数据类型
- 3.2 字符串的实现
- 3.3 模式匹配
- 小结
- 习题
- 第4章 栈与队列
- 4.1 栈及其抽象数据类型
- 4.2 栈的实现
- 4.3 栈的应用
- 4.4 队列及其抽象数据类型
- 4.5 队列的实现
- 4.6 队列的应用
- 小结
- 习题
- 第5章 二叉树与树
- 5.1 二叉树及其抽象数据类型
- 5.2 二叉树的周游
- 5.3 二叉树的实现
- 5.4 二叉树的应用
- 5.5 树及其抽象数据类型
- 5.6 树的实现
- 5.7 树林
- 小结
- 习题
- 第6章 集合与字典
- 6.1 集合及其抽象数据类型
- 6.2 集合的实现
- 6.3 字典及其抽象数据类型
- 6.4 字典的顺序表示
- 6.5 字典的散列表示
- 小结
- 习题
- 第7章 高级字典结构
- 7.1 字典与索引
- 7.2 字符树
- 7.3 二叉排序树
- 7.4 最佳二叉排序树
- 7.5 平衡二叉排序树
- 7.6 索引文件
- 小结
- 习题
- 第8章 排序
- 8.1 基本概念
- 8.2 插入排序
- 8.3 选择排序
- 8.4 交换排序
- 8.5 分配排序
- 8.6 归并排序
- 小结
- 习题
- 第9章 图
- 9.1 基本概念及其抽象数据类型
- 9.2 图的周游
- 9.3 存储表示
- 9.4 最小生成树
- 9.5 最短路径
- 9.6 拓扑排序
- 9.7 关键路径
- 小结
- 习题
- 第10章 算法分析与设计
- 10.1 算法分析技术
- 10.2 算法设计技术
- 小结
- 习题
- 索引
- 算法清单
- 参考文献
- 版权