本书第1版于2007年被评为江苏省高等学校精品教材,第2版2007年入选普通高等教育“十一五”*规划教材。
本书保留经典数据结构知识,引入伸展树和跳表等新内容,教材反映抽象、封装和信息隐蔽等现代软件设计理念。本书重视程序设计和实践性。书中算法都有完整的C++程序,程序代码注释详细,结构清晰,构思精巧,它们既是很好的学习数据结构和算法的示例,也是很好的C++程序设计示例。实习指导和实习题独立成章,指导学生按软件工程学的方法设计算法,编写程序和书写文档。
本书可作为电气信息类、电子信息科学类、管理信息系统、电子商务、教育技术等相关专业数据结构课程的教材,也可供计算机软件及应用的工程技术人员参考。
目录
- 第1章基础知识
- 1.1算法与数据结构
- 1.2什么是数据结构
- 1.2.1基本概念
- 1.2.2数据的逻辑结构
- 1.2.3数据的存储表示
- 1.2.4数据结构的运算
- 1.3数据抽象和抽象数据类型
- 1.3.1抽象、数据抽象和过程抽象
- 1.3.2封装与信息隐蔽
- 1.3.3数据类型和抽象数据类型
- 1.3.4数据结构与抽象数据类型
- 1.4描述数据结构和算法
- 1.4.1数据结构的规范
- 1.4.2实现数据结构
- 1.5算法分析的基本方法
- 1.5.1算法及其性能标准
- 1.5.2算法的时间复杂度
- 1.5.3渐近时间复杂度
- 1.5.4*坏、*好和平均情况时间复杂度
- 1.5.5算法的空间复杂度
- 本章小结
- 习题
- 第2章线性表
- 2.1线性表ADT
- 2.2线性表的顺序表示
- 2.3线性表的链接表示
- 2.3.1单链表
- 2.3.2带表头结点的单链表
- 2.3.3单循环链表
- 2.3.4双向链表
- 2.4多项式的算术运算
- 2.4.1项结点的C++类
- 2.4.2多项式的C++类
- 2.4.3多项式类的实现
- 本章小结
- 习题
- 第3章堆栈和队列
- 3.1堆栈
- 3.1.1堆栈ADT
- 3.1.2堆栈的顺序表示
- 3.1.3堆栈的链接表示
- 3.2队列
- 3.2.1队列ADT
- 3.2.2队列的顺序表示
- 3.2.3队列的链接表示
- 3.3表达式计算
- 3.3.1表达式
- 3.3.2计算后缀表达式的值
- 3.3.3中缀表达式转换为后缀表达式
- 3.4递归
- 3.4.1递归的概念
- 3.4.2递归的实现
- 本章小结
- 习题
- 第4章数组和字符串
- 4.1数组
- 4.1.1数组ADT
- 4.1.2数组的顺序表示
- 4.1.3一维数组的C++类
- 4.2特殊矩阵
- 4.2.1对称矩阵
- 4.2.2带状矩阵
- 4.3稀疏矩阵
- 4.3.1稀疏矩阵ADT
- 4.3.2稀疏矩阵的顺序表示
- 4.3.3稀疏矩阵转置
- 4.4字符串
- 4.4.1字符串ADT
- 4.4.2字符串的存储表示
- ……
- 第5章树
- 第6章集合和搜索
- 第7章搜索树
- 第8章跳表和散列表
- 第9章图
- 第10章内排序
- 第11章文件和外排序
- 第12章实习指导和实习题