《数据结构与算法(第5版)》张岩、李秀坤、刘显敏 著
《数据结构与算法(第5版)》可作为本科计算机及相关专业“数据结构与算法”课程教材,也可作为硕士研究生“算法设计与分析”课程的教学参考书,同时对计算机科技工作者也有一定的参考价值。 张岩,哈尔滨工业大学副教授,海量数据计算研究中心副主任,计算机科学与技术核心课程国家优秀教学团队骨干成员。研究方向为数据管理、算法理论、大数据计算、数据质量管理等。
李秀坤,哈尔滨工业大学教授,国家计算机实验教学示范中心副主任,计算机科学与技术核心课程国家优秀教学团队骨干成员,国家资源共享课程“数据结构与算法”负责人。主要研究方向为计算机应用技术及计算机网络技术。
刘显敏,哈尔滨工业大学副教授。研究方向为大数据计算、数据质量管理等。Algorithmica等国际期刊审稿人,Mathematical Reviews评论员。 第1章 绪论
1.1 数据结构的研究对象
1.2 数据结构的发展概况
1.3 抽象数据型
1.3.1 抽象数据型的定义
1.3.2 数据类型、数据结构和抽象数据型
1.3.3 多层次抽象技术
1.3.4 抽象数据型的优点
1.4 算法及其复杂度
1.4.1 算法与程序
1.4.2 算法的复杂度及其表示
1.4.3 最坏、最好和平均情况分析
1.4.4 时间复杂度分析的基本方法
1.5 逐步求精的程序设计方法
1.5.1 如何求解问题
1.5.2 算法的逐步求精
习题1
第2章 线性表
2.1 线性表的抽象数据型
2.2 线性表的实现
2.2.1 线性表的数组实现
2.2.2 线性表的指针实现
2.2.3 静态链表
2.2.4.双向链表
2.2.5 环形链表
2.2.6 多项式的代数运算
2.3 栈
2.3.1 栈的数组实现
2.3.2 栈的指针实现
2.3.3 栈和递归调用
2.3.4 栈的应用
2.4 队列
2.4.1 队列的指针实现
2.4.2 队列的循环数组实现
2.4.3 队列的应用
2.5 串
2.5.1 串的抽象数据型
2.5.2 串的表示
2.5.3 模式匹配算法
2.6 多维数组
2.6.1 数组的抽象数据型
2.6.2 多维数组的表示
2.7 广义表
习题2
第3章 树
3.1 基本术语
3.2 二叉树
3.2.1 二叉树的定义及遍历
3.2.2 二叉树的性质
3.2.3 二叉树的抽象数据型
3.2.4 二叉树的表示
3.2.5二叉树的复制与计数
3.3 堆与优先级队列
3.4 选择树
3.5 树
3.5.1 树的抽象数据型
3.5.2 树的表示
3.6 森林和二叉树间的转换
3.7 树的应用
3.7.1 集合的树结构表示
3.7.2 判定树
3.7.3 哈夫曼树
3.7.4 表达式求值
习题3
第4章 图
4.1 基本定义
4.2 图的表示
4.2.1 邻接矩阵
4.2.2 邻接表
4.2.3 十字链表
4.2.4 邻接多重表
4.3 图的搜索
4.3.1 深度优先搜索与深度优先编号
4.3.2 广度优先搜索与广度优先编号
4.4 图与树的联系
4.4.1 深度优先生成森林和广度优先生成森林
4.4.2 无向图与开放树的联系
4.4.3 最小生成树.r
4.5 无向图的双连通性
4.5.1 无向图的双连通分量
4.5.2 求关节点
4.6 搜索产生的边
4.7 强连通性
4.8 拓扑排序
4.8.1 无环路有向图
4.8.2 拓扑排序算法
4.9 关键路径
4.10 单源最短路径
4.11 每一对顶点之间的最短路径
4.11.1 Floyd算法
4.11.2 Warshall算法
4.1 1.3 求有向图的中心点
4.1 2求有向图的基本环路
习题4
第5章 查找
5.1 线性查找
5.2 折半查找
5.3 分块查找
5.4 二叉查找树
5.5 AVL树
5.6 B.树与B+树
5.6.1 B.树及其性质
5.6.2 B.树的插入操作
5,6.3 B.树的删除操作
5.6.4 B+树
5.7 Trie树
5.7.1 Trie树的定义
5.7.2 Trie树的查找操作
5.7.3采样策略
5.7.4 Trie树的插入操作
5.7.5 Trie树的删除操作
5.8 散列法
5.8.1 内散列表
5.8.2 散列函数
5.8.3 冲突的处理
5.8.4 外散列表
习题5
第6章 内部排序
6.1 概述
6.2 插人排序
6.2.1 直接插入排序
6.2.2 希尔排序
6.3 交换排序
6.3.1 气泡排序
6.3.2 快速排序
6.4 选择排序
6.4.1 直接选择排序
6.4.2 锦标赛排序
6.4.3 堆排序
6.5 归并排序
6.5.1 合并两个排序序列
6.5.2 归并排序的迭代算法
6.5.3 归并排序的递归算法
6.6 基数排序
6.7 词典排序
6.8 求第k个最小元素
习题6
第7章 文件与外部排序
7.1 文件及文件操作
7.1.1 文件的有关概念
7.1.2 文件操作
7.2 文件组织
7.2.1 顺序式文件
7.2.2 索引文件
7.2.3 散列文件
7.2.4