书籍详情
数据结构与算法
作者:龚丹 主编
出版社:清华大学出版社
出版时间:2010-10-01
ISBN:9787302235767
定价:¥29.50
购买这本书可以去
内容简介
《数据结构与算法》为高等学校计算机科学与技术及相关专业“数据结构与算法”课程的教材。全书共分12章,较为系统地阐述了数据结构与算法的核心知识单元,包括基本数据结构、递归、数据类型和数据抽象、面向对象的程序设计、算法分析的基本方法和基本计算算法以及常用的算法设计策略等。《数据结构与算法》内容翔实、语言生动,注重理论叙述的完整性,更强调应用与实践,是培养应用型人才的院校,或希望较快速地理解和掌握数据结构与算法相关实用知识并加以运用的学习者理想的教材形式。书中所有算法都有完整的C++程序,结构清晰、构思精巧,并在Vc++6.0环境下编译及正确运行,既有助于读者更好地理解数据结构与算法的理论知识点,同时,又能充分地训练程序设计的能力。通过《数据结构与算法》的学习,可以使读者建立科学合理的分析问题、解决问题及优化解决方案的思维过程,为今后学习或从事复杂程序设计奠定基础。
作者简介
暂缺《数据结构与算法》作者简介
目录
第1章 概述
1.1 数据结构的基本概念
1.1.1 数据结构概念的提出
1.1.2 数据结构中的常用术语
1.2 问题抽象与抽象数据类型
1.2.1 抽象——成功设计的基石
1.2.2 抽象数据类型的表示和实现
1.3 算法的基本概念
1.3.1 算法及算法设计的要求
1.3.2 算法效率的分析和量度
1.4 C++语言要点介绍
1.4.1 数组和指针
1.4.2 类
1.4.3 函数及函数重载
1.4.4 模板
1.4.5 其他自建类型的方法
1.5 小结
习题
第2章 线性结构
2.1 线性表的类型定义
2.1.1 线性表的逻辑特性
2.1.2 线性表的ADT定义
2.2 线性表的顺序存储表示
2.2.1 顺序表
2.2.2 线性表的其他顺序存储表示
2.3 线性表的链式存储
2.3.1 单链表
2.3.2 线性表的其他链式存储表示
2.4 线性表不同存储表示方法的对比
2.5 集合运算的模拟
2.5.1 问题描述与算法分析
2.5.2 算法实现
2.6 小结
习题
第3章 串与文本编辑
3.1 串的类型定义
3.2 串的存储表示
3.2.1 串的顺序存储
3.2.2 串的链式存储
3.3 串的模式匹配算法
3.4 文本编辑
3.4.1 问题描述与算法分析
3.4.2 算法实现
3.5 小结
习题
第4章 栈与递归
4.1 栈的类型定义
4.1.1 栈的逻辑特征
4.1.2 栈的ADT定义
4.2 栈的存储表示
4.2.1 栈的顺序存储
4.2.2 栈的链式存储
4.3 递归问题
4.3.1 n!
4.3.2 迷宫问题
4.4 小结
习题
第5章 队列与离散事件模拟
5.1 队列的类型定义
5.1.1 队列的逻辑特性
5.1.2 队列的ADT定义
5.2 队列的存储表示
5.2.1 队列的顺序存储
5.2.2 队列的链式存储
5.3 离散事件模拟
5.3.1 问题描述与算法分析
5.3.2 算法实现
5.4 小结
习题
第6章 数组与矩阵压缩
6.1 数组的类型定义
6.1.1 数组的逻辑特性
6.1.2 数组的ADT定义
6.2 数组的存储表示
6.3 矩阵压缩
6.3.1 特殊矩阵的压缩存储
6.3.2 稀疏矩阵的压缩存储
6.4 小结
习题
第7章 广义线性表
7.1 广义表的类型定义
7.1.1 广义表的逻辑特性
7.1.2 广义表的ADT定义
7.2 广义表的存储表示
7.2.1 头尾表示法
7.2.2 孩子兄弟表示法
7.3 多级管理机构问题
7.3.1 问题描述与算法分析
7.3.2 算法实现
7.4 小结
习题
第8章 树型结构及其应用
8.1 基本概念和术语
8.1.1 树
8.1.2 树的ADT定义
8.2 二叉树
8.2.1 二叉树的概念及特性
8.2.2 二叉树的存储表示
8.2.3 遍历二叉树
8.2.4 二叉树的线索化
8.3 树和森林
8.3.1 树的存储表示
8.3.2 树与二叉树的转换
8.3.3 树和森林的遍历
8.4 表达式求值问题
8.4.1 问题描述与算法分析
8.4.2 算法实现
8.5 哈夫曼树
8.5.1 最优二叉树
8.5.2 哈夫曼树的存储表示
8.5.3 哈夫曼编码问题
8.6 小结
习题
第9章 图型结构及其应用
9.1 图的类型定义
9.1.1 图的逻辑特性
9.1.2 图型结构中的基本概念和术语
9.1.3 图的ADT定义
9.2 图的存储表示
9.2.1 数组表示法
9.2.2 邻接表表示法
9.2.3 十字链表表示法
9.3 图的遍历
9.3.1 图的深度优先遍历
9.3.2 图的广度优先遍历
9.4 图的连通性与最小生成树问题
9.4.1 图的连通性
9.4.2 图的最小生成树
9.4.3 工程造价问题求解
9.5 图的拓扑排序与工程工期问题
9.5.1 图的拓扑
9.5.2 关键路径
9.5.3 工程工期问题求解
9.6 最短路径问题
9.6.1 单源点的最短路径
9.6.2 任意顶点对间的最短路径
9.7 小结
习题
第10章 查找
10.1 基本概念和术语
10.2 静态查找表
10.2.1 简单顺序查找表
10.2.2 有序表的查找
10.2.3 索引顺序表的查找
10.2.4 静态树表查找
10.3 动态查找表
10.3.1 二叉排序树和平衡二叉树
10.3.2 B-树
10.3.3 B+树
10.4 哈希查找表
10.4.1 哈希表及散列存储
10.4.2 哈希表的构造
10.4.3 哈希表的查找
10.5 小结
习题
第11章 内部排序
11.1 基本概念和术语
11.2 插入排序
11.2.1 直接插入排序
11.2.2 希尔排序
11.3 交换排序
11.3.1 冒泡排序
11.3.2 快速排序
11.4 选择排序
11.4.1 简单选择排序
11.4.2 树型选择排序
11.4.3 堆排序
11.5 归并排序
11.6 基数排序
11.7 小结
习题
第12章 经典算法与实例分析
12.1 STL基础知识
12.1.1 STL与泛型编程
12.1.2 STL的部件
12.1.3 各部件的协同工作
12.1.4 STL部件的应用
12.2 分治
12.2.1 算法理论介绍
12.2.2 分治算法的应用
12.3 动态规划
12.3.1 算法理论介绍
12.3.2 动态规划算法的应用
12.4 回溯
12.4.1 算法理论介绍
12.4.2 回溯算法的应用
12.5 小结
习题
参考文献
1.1 数据结构的基本概念
1.1.1 数据结构概念的提出
1.1.2 数据结构中的常用术语
1.2 问题抽象与抽象数据类型
1.2.1 抽象——成功设计的基石
1.2.2 抽象数据类型的表示和实现
1.3 算法的基本概念
1.3.1 算法及算法设计的要求
1.3.2 算法效率的分析和量度
1.4 C++语言要点介绍
1.4.1 数组和指针
1.4.2 类
1.4.3 函数及函数重载
1.4.4 模板
1.4.5 其他自建类型的方法
1.5 小结
习题
第2章 线性结构
2.1 线性表的类型定义
2.1.1 线性表的逻辑特性
2.1.2 线性表的ADT定义
2.2 线性表的顺序存储表示
2.2.1 顺序表
2.2.2 线性表的其他顺序存储表示
2.3 线性表的链式存储
2.3.1 单链表
2.3.2 线性表的其他链式存储表示
2.4 线性表不同存储表示方法的对比
2.5 集合运算的模拟
2.5.1 问题描述与算法分析
2.5.2 算法实现
2.6 小结
习题
第3章 串与文本编辑
3.1 串的类型定义
3.2 串的存储表示
3.2.1 串的顺序存储
3.2.2 串的链式存储
3.3 串的模式匹配算法
3.4 文本编辑
3.4.1 问题描述与算法分析
3.4.2 算法实现
3.5 小结
习题
第4章 栈与递归
4.1 栈的类型定义
4.1.1 栈的逻辑特征
4.1.2 栈的ADT定义
4.2 栈的存储表示
4.2.1 栈的顺序存储
4.2.2 栈的链式存储
4.3 递归问题
4.3.1 n!
4.3.2 迷宫问题
4.4 小结
习题
第5章 队列与离散事件模拟
5.1 队列的类型定义
5.1.1 队列的逻辑特性
5.1.2 队列的ADT定义
5.2 队列的存储表示
5.2.1 队列的顺序存储
5.2.2 队列的链式存储
5.3 离散事件模拟
5.3.1 问题描述与算法分析
5.3.2 算法实现
5.4 小结
习题
第6章 数组与矩阵压缩
6.1 数组的类型定义
6.1.1 数组的逻辑特性
6.1.2 数组的ADT定义
6.2 数组的存储表示
6.3 矩阵压缩
6.3.1 特殊矩阵的压缩存储
6.3.2 稀疏矩阵的压缩存储
6.4 小结
习题
第7章 广义线性表
7.1 广义表的类型定义
7.1.1 广义表的逻辑特性
7.1.2 广义表的ADT定义
7.2 广义表的存储表示
7.2.1 头尾表示法
7.2.2 孩子兄弟表示法
7.3 多级管理机构问题
7.3.1 问题描述与算法分析
7.3.2 算法实现
7.4 小结
习题
第8章 树型结构及其应用
8.1 基本概念和术语
8.1.1 树
8.1.2 树的ADT定义
8.2 二叉树
8.2.1 二叉树的概念及特性
8.2.2 二叉树的存储表示
8.2.3 遍历二叉树
8.2.4 二叉树的线索化
8.3 树和森林
8.3.1 树的存储表示
8.3.2 树与二叉树的转换
8.3.3 树和森林的遍历
8.4 表达式求值问题
8.4.1 问题描述与算法分析
8.4.2 算法实现
8.5 哈夫曼树
8.5.1 最优二叉树
8.5.2 哈夫曼树的存储表示
8.5.3 哈夫曼编码问题
8.6 小结
习题
第9章 图型结构及其应用
9.1 图的类型定义
9.1.1 图的逻辑特性
9.1.2 图型结构中的基本概念和术语
9.1.3 图的ADT定义
9.2 图的存储表示
9.2.1 数组表示法
9.2.2 邻接表表示法
9.2.3 十字链表表示法
9.3 图的遍历
9.3.1 图的深度优先遍历
9.3.2 图的广度优先遍历
9.4 图的连通性与最小生成树问题
9.4.1 图的连通性
9.4.2 图的最小生成树
9.4.3 工程造价问题求解
9.5 图的拓扑排序与工程工期问题
9.5.1 图的拓扑
9.5.2 关键路径
9.5.3 工程工期问题求解
9.6 最短路径问题
9.6.1 单源点的最短路径
9.6.2 任意顶点对间的最短路径
9.7 小结
习题
第10章 查找
10.1 基本概念和术语
10.2 静态查找表
10.2.1 简单顺序查找表
10.2.2 有序表的查找
10.2.3 索引顺序表的查找
10.2.4 静态树表查找
10.3 动态查找表
10.3.1 二叉排序树和平衡二叉树
10.3.2 B-树
10.3.3 B+树
10.4 哈希查找表
10.4.1 哈希表及散列存储
10.4.2 哈希表的构造
10.4.3 哈希表的查找
10.5 小结
习题
第11章 内部排序
11.1 基本概念和术语
11.2 插入排序
11.2.1 直接插入排序
11.2.2 希尔排序
11.3 交换排序
11.3.1 冒泡排序
11.3.2 快速排序
11.4 选择排序
11.4.1 简单选择排序
11.4.2 树型选择排序
11.4.3 堆排序
11.5 归并排序
11.6 基数排序
11.7 小结
习题
第12章 经典算法与实例分析
12.1 STL基础知识
12.1.1 STL与泛型编程
12.1.2 STL的部件
12.1.3 各部件的协同工作
12.1.4 STL部件的应用
12.2 分治
12.2.1 算法理论介绍
12.2.2 分治算法的应用
12.3 动态规划
12.3.1 算法理论介绍
12.3.2 动态规划算法的应用
12.4 回溯
12.4.1 算法理论介绍
12.4.2 回溯算法的应用
12.5 小结
习题
参考文献
猜您喜欢