要想写出可复用、可扩展、易维护、灵活性好的代码,「数据结构」这一关必须要过啊!
在数据结构与算法的众多教材中,奉为经典的当属清华大学严蔚敏老师的著作。很多学校也选择这本书作为考研指定教材。
正在学习数据结构与算法这门课程的同学 或者 有意愿精进自己代码编写水平的小伙伴,可以下载这本电子书来看看。
目录
<b>第1章 绪论</b>
- 1.1 什么是数据结构
- 1.2 基本概念和术语
- 1.3 抽象数据类型的表示与实现
- 1.4 算法和算法分析
- <u> 算法</u>
- <u> 算法设计的要求</u>
- <u> 算法效率的度量</u>
- <u> 算法的存储空间需求</u>
<b>第2章 线性表</b>
- 2.1 线性表的类型定义
- 2.2 线性表的顺序表示和实现
- 2.3 线性表的链式表示和实现
- <u> 线性链表</u>
- <u> 循环链表</u>
- <u> 双向链表</u>
- 2.4 一元多项式的表示及相加
<b>第3章 栈和队列</b>
- 3.1 栈
- <u> 抽象数据类型栈的定义</u>
- <u> 栈的表示和实现</u>
- 3.2 栈的应用举例
- <u> 数制转换</u>
- <u> 括号匹配的检验</u>
- <u> 行编辑程序</u>
- <u> 迷宫求解</u>
- <u> 表达式求值</u>
- 3.3 栈与递归的实现
- 3.4 队列
- <u> 抽象数据类型队列的定义</u>
- <u> 链队列——队列的链式表示和实现</u>
- <u> 循环队列——队列的顺序表示和实现</u>
- 3.5 离散事件模拟
<b>第4章 串</b>
- 4.1 串类型的定义
- 4.2 串的表示和实现
- <u> 定长顺序存储表示</u>
- <u> 堆分配存储表示</u>
- <u> 串的块链存储表示</u>
- 4.3 串的模式匹配算法
- <u> 求子串位置的定位函数index(s,t,pos)</u>
- <u> 模式匹配的一种改进算法</u>
- 4.4 串操作应用举例
- <u> 文本编辑</u>
- <u> 建立词索引表</u>
<b>第5章 数组和广义表</b>
- 5.1 数组的定义
- 5.2 数组的顺序表示和实现
- 5.3 矩阵的压缩存储
- <u> 特殊矩阵</u>
- <u> 稀疏矩阵</u>
- 5.4 广义表的定义
- 5.5 广义表的存储结构
- 5.6 m元多项式的表示
- 5.7 广义表的递归算法
- <u> 求广义表的深度</u>
- <u> 复制广义表</u>
- <u> 建立广义表的存储结构</u>
<b>第6章 树和二叉树</b>
- 6.1 树的定义和基本术语
- 6.2 二叉树
- <u> 二叉树的定义</u>
- <u> 二叉树的性质</u>
- <u> 二叉树的存储结构</u>
- 6.3 遍历二叉树和线索二叉树
- <u> 遍历二叉树</u>
- <u> 线索二叉树</u>
- 6.4 树和森林
- <u> 树的存储结构</u>
- <u> 森林与二叉树的转换</u>
- <u> 树和森林的遍历</u>
- 6.5 树与等价问题
- 6.6 赫夫曼树及其应用
- <u> 最优二叉树(赫夫曼树)</u>
- <u> 赫夫曼编码</u>
- 6.7 回溯法与树的遍历
- 6.8 树的计数
<b>第7章 图</b>
- 7.1 图的定义和术语
- 7.2 图的存储结构
- <u> 数组表示法</u>
- <u> 邻接表</u>
- <u> 十字链表</u>
- <u> 邻接多重表</u>
- 7.3 图的遍历
- <u> 深度优先搜索</u>
- <u> 广度优先搜索</u>
- 7.4 图的连通性问题
- <u> 无向图的连通分量和生成树</u>
- <u> 有向图的强连通分量</u>
- <u> 最小生成树</u>
- <u> 关节点和重连通分量</u>
- 7.5 有向无环图及其应用
- <u> 拓扑排序</u>
- <u> 关键路径</u>
- 7.6 最短路径
- <u> 从某个源点到其余各顶点的最短路径</u>
- <u> 每一对顶点之间的最短路径</u>
<b>第8章 动态存储管理</b>
- 8.1 概述
- 8.2 可利用空间表及分配方法
- 8.3 边界标识法
- <u> 可利用空间表的结构</u>
- <u> 分配算法</u>
- <u> 回收算法</u>
- 8.4 伙伴系统
- <u> 可利用空间表的结构</u>
- <u> 分配算法</u>
- <u> 回收算法</u>
- 8.5 无用单元收集
- 8.6 存储紧缩
<b>第9章 查找</b>
- 9.1 静态查找表
- <u> 顺序表的查找</u>
- <u> 有序表的查找</u>
- <u> 静态树表的查找</u>
- <u> 索引顺序表的查找</u>
- 9.2 动态查找表
- <u> 二叉排序树和平衡二叉树</u>
- <u> b-树和b+树</u>
- <u> 键树</u>
- 9.3 哈希表
- <u> 什么是哈希表</u>
- <u> 哈希函数的构造方法</u>
- <u> 处理冲突的方法</u>
- <u> 哈希表的查找及其分析</u>
<b>第10章 内部排序</b>
- 10.1 概述
- 10.2 插入排序
- <u> 直接插入排序</u>
- <u> 其他插入排序</u>
- <u> 希尔排序</u>
- 10.3 快速排序
- 10.4 选择排序
- <u> 简单选择排序</u>
- <u> 树形选择排序</u>
- <u> 堆排序</u>
- 10.5 归并排序
- 10.6 基数排序
- <u> 多关键字的排序</u>
- <u> 链式基数排序</u>
- 10.7 各种内部排序方法的比较讨论
<b>第11章 外部排序</b>
- 11.1 外存信息的存取
- 11.2 外部排序的方法
- 11.3 多路平衡归并的实现
- 11.4 置换 选择排序
- 11.5 最佳归并树
<b>第12章 文件</b>
- 12.1 有关文件的基本概念
- 12.2 顺序文件
- 12.3 索引文件
- 12.4 isam文件和vsam文件
- <u> isam文件</u>
- <u> vsam文件</u>
- 12.5 直接存取文件(散列文件)
- 12.6 多关键字文件
- <u> 多重表文件</u>
- <u> 倒排文件</u>
<b>附录a 名词索引</b>
<b>附录b 函数索引</b>
<b>参考书目</b>
推荐阅读
下载《数据结构(C语言版)》
关注公众号,后台回复
20190327
网友评论