数据结构是计算机专业和其他一些和计算机技术关系密切专业必修的核心课程。《数据结构(C++语言描述 第2版)》系统地介绍了各种类型的数据结构和查找、排序的各种方法,主要内容包括线性表、堆栈、队列、串、数组、树、二叉树、图、排序、查找以及递归;对于每一种类型的数据结构都详细阐述其基本概念、各种不同的存储结构和不同存储结构上一些主要操作的实现算法,并给出了许多设计实例帮助读者理解。本书采用c++语言作为算法描述语言。为方便学习,附录中给出了部分典型习题解答。
本书既可作为大专院校计算机等专业的教科书,也可作为从事计算机应用的工程技术人员的自学参考书。
- 前辅文
- 第1章 绪论
- 1.1 数据结构的基本概念
- 1.2 抽象数据类型和软件构造方法
- 1.3 算法和算法的时间复杂度
- 习题1
- 第2章 线性表
- 2.1 线性表抽象数据类型
- 2.2 顺序表类
- 2.3 单链表类
- 2.4 循环单链表
- 2.5 双向链表
- 2.6 静态链表
- 2.7 设计举例
- 习题2
- 第3章 堆栈和队列
- 3.1 堆栈
- 3.2 堆栈应用
- 3.3 队列
- 3.4 优先级队列
- 习题3
- 第4章 串
- 4.1 串
- 4.2 串的存储结构
- 4.3 动态数组实现的串类
- 4.4 串的模式匹配算法
- 习题4
- 第5章 数组
- 5.1 数组
- 5.2 动态数组类
- 5.3 特殊矩阵
- 5.4 稀疏矩阵
- 习题5
- 第6章 递归算法
- 6.1 递归的概念
- 6.2 递归算法的执行过程
- 6.3 递归算法的设计方法
- 6.4 递归过程和运行时栈
- 6.5 递归算法的效率分析
- 6.6 递归算法到非递归算法的转换
- 6.7 设计举例
- 习题6
- 第7章 树和二叉树
- 7.1 树
- 7.2 二叉树
- 7.3 以结点类为基础的二叉树设计
- 7.4 二叉树类
- 7.5 二叉树的分步遍历
- 7.6 线索二叉树
- 7.7 哈夫曼树
- 7.8 等价问题
- 7.9 树与二叉树的转换
- 7.10 树的遍历
- 习题7
- 第8章 图
- 8.1 图
- 8.2 图的存储结构
- 8.3 邻接矩阵图类
- 8.4 图的遍历
- 8.5 最小生成树
- 8.6 最短路径
- 8.7 拓扑排序
- 8.8 关键路径
- 习题8
- 第9章 排序
- 9.1 排序的基本概念
- 9.2 插入排序
- 9.3 选择排序
- 9.4 交换排序
- 9.5 归并排序
- 9.6 基数排序
- 9.7 性能比较
- 习题9
- 第10章 查找
- 10.1 查找的基本概念
- 10.2 静态查找表
- 10.3 动态查找表
- 10.4 哈希表
- 习题10
- 附录 部分典型习题解答
- 参考文献