数据结构与算法包含内容
数据结构与算法
数据结构研究的是数据的存储方式,算法研究的是解决问题的思路。数据结构与算法是相辅相成的
参考 《数据结构与算法》(2013年人民邮电出版社出版的图书)
内容简介
本书是国家级双语教学示范课程《数据结构》的配套教材,根据教育部高等学校计算机科学与技术教学指导委员会制定的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范》编写。全书每章均以数据的逻辑结构、存储结构和相应的算法实现为主线,并对算法的运算效率进行分析。全书分为8章,涵盖了各种常见数据结构。第1章主要介绍数据结构和算法分析的基本概念,第2~6章主要介绍典型的线性结构、树型结构和图型结构,第7~8章分别介绍查找和排序操作。
另外,每章后面附有习题和上机实验内容,上机实验提供了完整的、可运行的程序上机实验供读者参考,以加深读者对所学知识的理解和应用。
本书既可作为高等院校计算机及相关专业数据结构课程的教学用书,也可作为从事计算机工程与应用的广大读者的参考书。
该书是国家级双语教学示范课程配套教材,以基本数据结构和算法设计策略为知识单元,系统地介绍了数据结构的知识与应用、计算机算法的设计与分析方法,主要内容包括线性表、树、图和广义表、算法设计策略以及查找与排序算法等。《数据结构与算法》注重理论与实践相结合,内容深入浅出,可以作为高等院校计算机学科相关专业的教材或参考书,同时对计算机科技工作者也有参考价值。
作品目录
第1章 绪论
1.1 数据及其逻辑结构
- 1.1.1 基本概念
- 1.1.2 逻辑结构
1.2 数据结构
- 1.2.1 什么是数据结构
- 1.2.2 数据结构的二元组描述
- 1.2.3 数据结构和数据类型
1.3 存储实现与运算实现
- 1.3.1 顺序存储结构
- 1.3.2 链式存储结构
- 1.3.3 索引存储结构
- 1.3.4 散列存储结构
- 1.3.5 运算实现
- 1.3.6 进一步讨论
1.4 算法描述和算法分析
- 1.4.1 什么是算法
- 1.4.2 算法描述
- 1.4.3 算法分析
1.5 网络教辅资源
1.6 小结
- 练习一
第2章 线性表
2.1 线性表的基本概念
2.2 线性表的顺序表示和实现
2.3 线性表的链接表示和实现
- 2.3.1 线性表的链式存储原理
- 2.3.2 线性表的链式存储算法实现
- 2.3.3 算法效率分析
2.4 循环链表和双链表
- 2.4.1 循环链表
- 2.4.2 双向链表
2.5 线性表的应用举例
- 2.5.1 问题的提出
- 2.5.2 分析问题
- 2.5.3 算法实现
- 2.5.4 程序
2.6 小结
- 练习二
第3章 栈和队列
3.1 栈
- 3.1.1 栈的定义
- 3.1.2 栈的基本运算
- 3.1.3 栈的顺序存储结构
- 3.1.4 栈的链式存储结构
- 3.1.5 栈的应用
3.2 队列
- 3.2.1 队列的定义
- 3.2.2 队列的基本运算
- 3.2.3 队列的顺序存储结构
- 3.2.4 队列的链式存储结构
- 3.2.5 队列的应用
3.3 小结
- 练习三
第4章 串和数组
4.1 串的基本概念
4.2 串的基本操作和串的存储结构
- 4.2.1 串的基本操作
- 4.2.2 串的静态顺序存储结构
- 4.2.3 串的动态顺序存储结构
- 4.2.4 串的链式存储结构
4.3 数组的定义和运算
4.4 数组的顺序存储结构
4.5 特殊矩阵的压缩存储
- 4.5.1 特殊矩阵
- 4.5.2 稀疏矩阵
4.6 小结
- 练习四
第5章 树和二叉树
5.1 树的概念与定义
- 5.1.1 树的定义
- 5.1.2 树的基本操作
5.2 二叉树的性质和存储结构
- 5.2.1 二叉树的定义与基本操作
- 5.2.2 二叉树的性质
- 5.2.3 二叉树的存储结构
5.3 二叉树的遍历与线索化
- 5.3.1 二叉树的遍历
- 5.3.2 二叉树的非递归遍历
- 5.3.3 树的唯一性问题
- 5.3.4 二叉树遍历的应用
- 5.3.5 线索二叉树
5.4 树、森林和二叉树的关系
- 5.4.1 树的存储结构
- 5.4.2 树、森林与二叉树的相互转换
- 5.4.3 树与森林的遍历
5.5 哈夫曼树及其应用
- 5.5.1 哈夫曼树的定义
- 5.5.2 哈夫曼树的构造
- 5.5.3 哈夫曼编码
5.6 小结
- 练习五
第6章 图
6.1 图的定义及理论
6.2 图的存储结构及算法实现
- 6.2.1 图的基本运算的抽象
- 6.2.2 数组表示法
- 6.2.3 邻接表表示
- 6.2.4 十字链表表示
6.3 图的算法实现
- 6.3.1 图的遍历算法
- 6.3.2 图的连通性
6.4 图的应用
- 6.4.1 图的最小生成树
- 6.4.2 最短路径
- 6.4.3 任意顶点最短路径
6.5 小结
- 练习六
第7章 查找表
7.1 查找表的基本概念
7.2 静态查找表
- 7.2.1 顺序查找
- 7.2.2 折半查找
- 7.2.3 分块查找
7.3 动态查找表
- 7.3.1 二叉排序树
- 7.3.2 平衡二叉树
7.4 哈希表
- 7.4.1 哈希表的基本概念
- 7.4.2 哈希函数的构造方法
- 7.4.3 处理哈希冲突的方法
7.5 小结
- 练习七
第8章 内部排序
8.1 排序的基本概念
- 8.1.1 排序
- 8.1.2 内部排序和外部排序
- 8.1.3 排序算法评价
- 8.1.4 排序算法的稳定性
- 8.1.5 待排序记录序列的存储结构
8.2 直接插入排序和希尔排序
- 8.2.1 直接插入排序
- 8.2.2 折半查找插入排序
- 8.2.3 希尔排序
8.3 选择排序和堆排序
- 8.3.1 选择排序
- 8.3.2 堆排序
8.4 冒泡排序和快速排序
- 8.4.1 冒泡排序
- 8.4.2 快速排序
8.5 归并排序
8.6 基数排序
- 8.6.1 基本思想
- 8.6.2 基数排序过程与算法
8.7 各种内部排序方法的比较讨论
8.8 外部排序
- 8.8.1 外部存储系统
- 8.8.2 外部排序面临的问题
- 8.8.3 外部排序的基本过程