书籍详情
数据结构(C++版)
作者:王红梅,胡明,王涛编著
出版社:清华大学出版社
出版时间:2005-07-01
ISBN:9787302112587
定价:¥33.00
购买这本书可以去
内容简介
数据结构是计算机专业教学计划中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目。要从事和计算机科学与技术相关的工作,尤其是计算机应用领域的开发和研制工作,必须具备坚实的数据结构基础。本书介绍了学习数据结构所用到的预备知识,叙述了数据结构、算法以及抽象数据类型的概念,介绍了线性表、栈、队列和串、数组和广义表、树和二叉树、图等常用数据结构,讨论了常用的查找、排序和索引技术,给出了较多的数据结构的应用实例,最终通过一个案例将书中所有数据结构贯穿起来。本书内容丰富,层次清晰,讲解深入浅出,可作为计算机及相关专业本、专科数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读、参考。本书前言前言:数据结构是计算机及相关专业的一门重要的专业基础课,也是计算机及相关专业考研和水平等级考试的必考科目,而且正逐渐发展成为众多理工专业的热门选修课。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其他课程,还是对从事软件工程的开发,都有着不可替代的作用。数据结构课程知识丰富,内容抽象,学习量大,隐藏在各部分内容中的方法和技术多。本书的编写者长期从事数据结构课程的教学,对课程的教学特点和难点有比较深切的体会。在总结讲授数据结构课程的基础上,对多年来形成的数据结构课程的教学内容进行了合理的剪裁和重组,既强调数据结构的原理和方法,又注重其实践性与实用性。本书具有以下特色:系统性强注重与前导课的知识衔接,知识单元的前驱和后继关系安排合理,每一章的内容主线清晰。启发性强精心安排的人物小传和思想火花,以及具有启发性的习题和思考题,引导学生的思维过程。实用性强随书光盘给出了本书所有算法的C程序实现,提供了学生电子笔记、算法和图解素材、英汉词汇表。深入浅出采用分析、伪代码、C描述三级模式讲解算法,并设计了250多个插图,降低了理解问题的复杂性。案例驱动每种数据结构给出若干应用实例,提倡从实用性和实践性的角度学习数据结构,并通过一个案例将书中所有的数据结构贯穿起来。本书由三个模块构成,第一个模块是基础知识,介绍了学习数据结构的预备知识以及数据结构的基本概念;第二个模块是基本数据结构,介绍了线性表、栈、队列和串、数组和广义表、树和二叉树、图等常用数据结构;第三个模块是查找与排序技术,讨论了常用的查找技术、排序技术和索引技术。本书的随书光盘包括以下内容:每种数据结构的C实现,案例设计与实现,电子笔记,算法素材,图解素材,英汉词汇表等。参加本书编写的还有于德海、徐立新老师,研究生李娜、陈、李洋、闵聚、何文华参与了本书的案例设计并制作了光盘,李万龙教授对本书的编写提出了很多有益的建议,在此表示感谢。由于作者的水平有限,书稿虽几经修改,仍难免有缺点和错误。热忱欢迎同行专家和读者批评指正,使本书在使用中不断改进、日臻完善。
作者简介
暂缺《数据结构(C++版)》作者简介
目录
第0章 预备知识
0.1 数学预备知识
0.1.1 常用数学术语
0.1.2 对数
0.1.3 级数求和
0.2 常用数学证明方法
0.2.1 反证法
0.2.2 数学归纳法
0.3 离散数学预备知识
0.3.1 集合
0.3.2 谓词
0.3.3 关系
0.4 C++程序设计语言预备知识
0.4.1 程序结构
0.4.2 变量、常量与数据类型
0.4.3 控制语句
0.4.4 函数
0.4.5 继承与派生
0.4.6 多态与虚函数
0.4.7 模板
0.4.8 动态存储分配
0.4.9 输入与输出
0.4.10 异常处理
第1章 绪论
1.1 数据结构的兴起和发展
1.2 数据结构的研究对象
1.3 数据结构的基本概念
1.3.1 数据结构
1.3.2 数据结构的访问窗口
1.3.3 抽象数据类型
1.4 算法及算法分析
1.4.1 算法
1.4.2 算法分析
1.5 案例综棕
习题1
思考题1
第2章 线性表
2.1 线性表的逻辑结构
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型定义
2.2 线性表的顺序存储结构及实现
2.2.1 线性表的顺序存储结构——顺序表
2.2.2 顺序表的实现
2.3 线性表的链接存储结构及实现
2.3.1 线性表的链接存储结构——单链表
2.3.2 单链表的实现
2.4 顺序表和单链表的比较
2.4.1 时间性能比较
2.4.2 空间性能比较
2.5 线性表的其他存储方法
2.5.1 循环链表
2.5.2 双链表
2.5.3 静态链表
2.5.4 间接寻址
2.6 应用举例
2.6.1 顺序表的应用举例——符号表
2.6.2 单链表的应用举例——一元多项式求和
2.6.3 高校学籍管理
习题2
思考题2
第3章 特殊线性表——栈、队列和中
3.1 栈
3.1.1 栈的逻辑结构
3.1.2 栈的顺序存储结构及实现
3.1.3 栈的链接存储结构及实现
3.1.4 顺序栈和链栈的比较
3.2 队列
3.2.1 队列的逻辑结构
3.2.2 队列的顺序存储结构及实现
3.2.3 队列的链接存储结构及实现
3.2.4 循环队列和链队列的比较
3.3 串
3.3.1 串的逻辑结构
3.3.2 串的存储结构
3.3.3 模式匹配
3.4 应用举例
3.4.1 栈的应用举例——递归
3.4.2 队列的应用举例——火车车厢重排
3.4.3 串的应用举例——恺撒密码
3.4.4 高校实验任务安排问题
习题3
思考题3
第4章 广义线性表——多维数组和广义表
4.1 多维数组
4.1.1 数组的定义
4.1.2 数组的存储结构与寻址
4.2 矩阵的压缩存储
4.2.1 特殊矩阵的压缩存储
4.2.2 稀疏矩阵的压缩存储
4.3 广义表
4.3.1 广义表的逻辑结构
4.3.2 广义表的存储结构及实现
4.4 应用举例
4.4.1 数组的应用举例——魔方阵
4.4.2 本科生选导师问题
习题4
思考题4
第5章 树和二叉树
5.1 树的逻辑结构
5.1.1 树的定义和基本术语
5.1.2 树的抽象数据类型定义
5.1.3 树的遍历操作
5.2 树的存储结构
5.2.1 双亲表示法
5.2.2 孩子表示法
5.2.3 双亲孩子表示法
5.2.4 孩子兄弟表示法
5.3 二叉树的逻辑结构
5.3.1 二叉树的定义
5.3.2 二叉树的基本性质
5.3.3 二叉树的抽象数据类型定义
5.3.4 二叉树的遍历操作
5.4 二叉树的存储结构及实现
5.4.1 顺序存储结构
5.4.2 二叉树表
5.4.3 三叉树表
5.4.4 线索链表
5.5 树、森林与二叉树的转换
5.6 应用举例
5.6.1 二叉树的应用举例——哈夫曼树及哈夫曼编码
5.6.2 树的应用举例——8枚硬币问题
5.6.3 高校学生会组织机构的管理
习题5
思考题5
第6章 图
6.1 图的逻辑结构
6.1.1 图的定义和基本术语
6.1.2 图的抽象数据类型定义
6.1.3 图的遍历操作
6.2 图的存储结构及实现
6.2.1 邻接矩阵
6.2.2 邻接表
6.2.3 十字链表
6.2.4 邻接多重表
6.2.5 边集数组
6.2.6 图的存储结构的比较
6.3 图的连通性
6.3.1 无向图的连通性
6.3.2 有向图的连通性
6.3.3 生成树和生成森林
6.4 应用举例
6.4.1 最小生成树
6.4.2 最短路径
6.4.3 AOV网与拓扑排序
6.4.4 AOE网与关键路径
6.4.5 校园最短路径问题
习题6
思考题6
第7章 查找技术
7.1 概述
7.1.1 查找的基本概念
7.1.2 查找算法的性能
7.2 线性表的查找技术
7.2.1 顺序查找
7.2.2 折半查找
7.2.3 斐波那契查找
7.2.4 插值查找
7.3 树表的查找技术
7.3.1 二叉排序树
7.3.2 平衡二叉树
7.4 散列表的查找技术
7.4.1 概述
7.4.2 散列函数的设计
7.4.3 处理冲突的方法
7.4.4 散列查找的性能分析
7.4.5 开散列表与闭散列表的比较
习题7
思考题7
第8章 排序技术
8.1 概述
8.1.1 排序的基本概念
8.1.2 排序算法的性能
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希尔排序
8.3 交换排序
8.3.1 起泡排序
8.3.2 快速排序
8.4 选择排序
8.4.1 简单选择排序
8.4.2 堆排序
8.5 归并排序
8.5.1 二路归并排序的非递归实现
8.5.2 二路归并排序的递归实现
8.6 各种排序方法的比较
习题8
思考题8
第9章 索引技术
9.1 索引的基本概念
9.2 线性索引技术
9.2.1 稠密索引
9.2.2 分块索引
9.2.3 多重表
9.2.4 倒排表
9.3 树形索引
9.3.1 2-3树
9.3.2 B_树
9.3.3 B+树
习题9
参考文献
0.1 数学预备知识
0.1.1 常用数学术语
0.1.2 对数
0.1.3 级数求和
0.2 常用数学证明方法
0.2.1 反证法
0.2.2 数学归纳法
0.3 离散数学预备知识
0.3.1 集合
0.3.2 谓词
0.3.3 关系
0.4 C++程序设计语言预备知识
0.4.1 程序结构
0.4.2 变量、常量与数据类型
0.4.3 控制语句
0.4.4 函数
0.4.5 继承与派生
0.4.6 多态与虚函数
0.4.7 模板
0.4.8 动态存储分配
0.4.9 输入与输出
0.4.10 异常处理
第1章 绪论
1.1 数据结构的兴起和发展
1.2 数据结构的研究对象
1.3 数据结构的基本概念
1.3.1 数据结构
1.3.2 数据结构的访问窗口
1.3.3 抽象数据类型
1.4 算法及算法分析
1.4.1 算法
1.4.2 算法分析
1.5 案例综棕
习题1
思考题1
第2章 线性表
2.1 线性表的逻辑结构
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型定义
2.2 线性表的顺序存储结构及实现
2.2.1 线性表的顺序存储结构——顺序表
2.2.2 顺序表的实现
2.3 线性表的链接存储结构及实现
2.3.1 线性表的链接存储结构——单链表
2.3.2 单链表的实现
2.4 顺序表和单链表的比较
2.4.1 时间性能比较
2.4.2 空间性能比较
2.5 线性表的其他存储方法
2.5.1 循环链表
2.5.2 双链表
2.5.3 静态链表
2.5.4 间接寻址
2.6 应用举例
2.6.1 顺序表的应用举例——符号表
2.6.2 单链表的应用举例——一元多项式求和
2.6.3 高校学籍管理
习题2
思考题2
第3章 特殊线性表——栈、队列和中
3.1 栈
3.1.1 栈的逻辑结构
3.1.2 栈的顺序存储结构及实现
3.1.3 栈的链接存储结构及实现
3.1.4 顺序栈和链栈的比较
3.2 队列
3.2.1 队列的逻辑结构
3.2.2 队列的顺序存储结构及实现
3.2.3 队列的链接存储结构及实现
3.2.4 循环队列和链队列的比较
3.3 串
3.3.1 串的逻辑结构
3.3.2 串的存储结构
3.3.3 模式匹配
3.4 应用举例
3.4.1 栈的应用举例——递归
3.4.2 队列的应用举例——火车车厢重排
3.4.3 串的应用举例——恺撒密码
3.4.4 高校实验任务安排问题
习题3
思考题3
第4章 广义线性表——多维数组和广义表
4.1 多维数组
4.1.1 数组的定义
4.1.2 数组的存储结构与寻址
4.2 矩阵的压缩存储
4.2.1 特殊矩阵的压缩存储
4.2.2 稀疏矩阵的压缩存储
4.3 广义表
4.3.1 广义表的逻辑结构
4.3.2 广义表的存储结构及实现
4.4 应用举例
4.4.1 数组的应用举例——魔方阵
4.4.2 本科生选导师问题
习题4
思考题4
第5章 树和二叉树
5.1 树的逻辑结构
5.1.1 树的定义和基本术语
5.1.2 树的抽象数据类型定义
5.1.3 树的遍历操作
5.2 树的存储结构
5.2.1 双亲表示法
5.2.2 孩子表示法
5.2.3 双亲孩子表示法
5.2.4 孩子兄弟表示法
5.3 二叉树的逻辑结构
5.3.1 二叉树的定义
5.3.2 二叉树的基本性质
5.3.3 二叉树的抽象数据类型定义
5.3.4 二叉树的遍历操作
5.4 二叉树的存储结构及实现
5.4.1 顺序存储结构
5.4.2 二叉树表
5.4.3 三叉树表
5.4.4 线索链表
5.5 树、森林与二叉树的转换
5.6 应用举例
5.6.1 二叉树的应用举例——哈夫曼树及哈夫曼编码
5.6.2 树的应用举例——8枚硬币问题
5.6.3 高校学生会组织机构的管理
习题5
思考题5
第6章 图
6.1 图的逻辑结构
6.1.1 图的定义和基本术语
6.1.2 图的抽象数据类型定义
6.1.3 图的遍历操作
6.2 图的存储结构及实现
6.2.1 邻接矩阵
6.2.2 邻接表
6.2.3 十字链表
6.2.4 邻接多重表
6.2.5 边集数组
6.2.6 图的存储结构的比较
6.3 图的连通性
6.3.1 无向图的连通性
6.3.2 有向图的连通性
6.3.3 生成树和生成森林
6.4 应用举例
6.4.1 最小生成树
6.4.2 最短路径
6.4.3 AOV网与拓扑排序
6.4.4 AOE网与关键路径
6.4.5 校园最短路径问题
习题6
思考题6
第7章 查找技术
7.1 概述
7.1.1 查找的基本概念
7.1.2 查找算法的性能
7.2 线性表的查找技术
7.2.1 顺序查找
7.2.2 折半查找
7.2.3 斐波那契查找
7.2.4 插值查找
7.3 树表的查找技术
7.3.1 二叉排序树
7.3.2 平衡二叉树
7.4 散列表的查找技术
7.4.1 概述
7.4.2 散列函数的设计
7.4.3 处理冲突的方法
7.4.4 散列查找的性能分析
7.4.5 开散列表与闭散列表的比较
习题7
思考题7
第8章 排序技术
8.1 概述
8.1.1 排序的基本概念
8.1.2 排序算法的性能
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希尔排序
8.3 交换排序
8.3.1 起泡排序
8.3.2 快速排序
8.4 选择排序
8.4.1 简单选择排序
8.4.2 堆排序
8.5 归并排序
8.5.1 二路归并排序的非递归实现
8.5.2 二路归并排序的递归实现
8.6 各种排序方法的比较
习题8
思考题8
第9章 索引技术
9.1 索引的基本概念
9.2 线性索引技术
9.2.1 稠密索引
9.2.2 分块索引
9.2.3 多重表
9.2.4 倒排表
9.3 树形索引
9.3.1 2-3树
9.3.2 B_树
9.3.3 B+树
习题9
参考文献
猜您喜欢