C语言数据结构精讲
- 文章列表:
- 1.1 数据结构的概念—为什么要学习数据结构
- 1.1数据结构的概念—有关概念和术语
- 1.1数据结构的概念—数据结构课程的内容
- 1.2抽象数据类型
- 1.3算法和算法分析
- 2.1线性表的逻辑结构
- 2.2线性表的顺序存储及运算—顺序表
- 2.2线性表的顺序存储及运算—顺序表上的基本运算
- 2.2线性表的顺序存储及运算—顺序表应用举例
- 2.3线性表的链式存储和运算—单链表
- 2.3线性表的链式存储和运算—单链表基本运算
- 2.3线性表的链式存储和运算—循环链表
- 2.3线性表的链式存储和运算—双向链表
- 2.3线性表的链式存储和运算—静态链表
- 2.3线性表的链式存储和运算—单链表应用举例
- 2.4顺序表和链表的比较
- 3.1 栈—栈的定义及基本运算
- 3.1 栈—栈的存储实现和运算实现
- 3.2 栈的应用举例
- 3.3 队列—队列的定义及基本运算
- 3.3 队列—队列的存储实现及运算实现
- 3.4 队列应用举例
- 4.1 串及其基本运算
- 4.2 串的定长顺序存储及基本运算
- 4.3 串的堆存储结构—串名的存储映象
- 4.3 串的堆存储结构—堆存储结构
- 4.3 串的堆存储结构—基于堆结构的基本运算
- 5.1 多维数组
- 5.2 特殊矩阵的压缩存储—对称矩阵
- 5.2 特殊矩阵的压缩存储—三角矩阵
- 5.2 特殊矩阵的压缩存储—带状矩阵
- 5.3 稀疏矩阵—稀疏矩阵的三元组表存储
- 5.3 稀疏矩阵—稀疏矩阵的十字链表存储
- 5.4 广义表—广义表的定义和基本运算
- 5.4 广义表—广义表的存储
- 5.4 广义表—广义表基本操作的实现
- 6.1 二叉树的定义与性质
- 6.2 基本操作与存储—二叉树的存储
- 6.2 基本操作与存储—二叉树的基本操作及实现
- 6.3 二叉树的遍历—二叉树的遍历方法及递归实现
- 6.3 二叉树的遍历—二叉树遍历的非递归实现
- 6.3 二叉树的遍历—由遍历序列恢复二叉树
- 6.3 二叉树的遍历—不用栈的二叉树遍历的非递归方法
- 6.4 线索二叉树—线索二叉树的定义及结构
- 6.4 线索二叉树—线索二叉树的基本操作实现
- 6.5 二叉树的应用—二叉树遍历的应用
- 6.5 二叉树的应用—最优二叉树(哈夫曼树)
- 7.1 树的概念与表示
- 7.2 树的基本操作与存储
- 7.3 树、森林与二叉树的转换
- 7.4 树和森林的遍历
- 7.5 树的应用
- 8.1 图的基本概念
- 8.2 图的存储表示—邻接矩阵
- 8.2 图的存储表示—邻接表
- 8.2 图的存储表示—十字链表
- 8.2 图的存储表示—邻接多重表
- 8.3 图的遍历
- 8.4 图的连通性—无向图的连通性
- 8.4 图的连通性—有向图的连通性
- 8.4 图的连通性—生成树和生成森林
- 8.4 图的连通性—关节点和重连通分量
- 8.5 最小生成树—最小生成树的基本概念
- 8.5 最小生成树—构造最小生成树的Prim算法
- 8.5 最小生成树—构造最小生成树的Kruskal算法
- 8.6 最短路径—从一个源点到其它各点的最短路径
- 8.6 最短路径—每一对顶点之间的最短路径
- 8.7 有向无环图及其应用—有向无环图的概念
- 8.7 有向无环图及其应用—AOV网与拓扑排序
- 9.1 查找的基本概念与术语
- 9.2 静态查找表—静态查找表结构
- 9.2 静态查找表—顺序查找
- 9.2 静态查找表—有序表的折半查找
- 9.2 静态查找表—有序表的插值查找和斐波那契查找
- 9.2 静态查找表—分块查找
- 9.3.1动态查找表—二叉排序树
- 9.3.1动态查找表—平衡二叉树(AVL树)
- 9.3.1动态查找表—B-树和B+树
- 9.4 哈希表查找(杂凑法)—哈希表与哈希方法
- 9.4 哈希表查找(杂凑法)—常用的哈希函数
- 9.4 哈希表查找(杂凑法)—处理冲突的方法
- 9.4 哈希表查找(杂凑法)—哈希表的查找分析
- 10.1 排序的基本概念
- 10.2插入排序—直接插入排序
- 10.2插入排序—折半插入排序
- 10.2插入排序—表插入排序
- 10.2插入排序—希尔排序(Shell’s Sort)
- 10.3 交换排序—冒泡排序(Bubble Sort)
- 10.3 交换排序—快速排序
- 10.4选择排序—简单选择排序
- 10.4选择排序—树形选择排序
- 10.4选择排序—堆排序(Heap Sort)
- 10.5二路归并排序
- 10.6基数排序
- 10.7.1 外排序—外部排序的方法
- 10.7.1 外排序—多路平衡归并的实现