排序-交换排序-冒泡排序,快速排序,改进快速排序(C语言) (含动画演示)结构定义 冒泡排序 思路 性能分析 冒泡排序 改进冒泡排序 快速排序 思路 性能分析 快速排序 改进快速排序 1. 优化选取枢轴 2. 优化不必要交换 3. 优化小数组的排序方案 4. 优化递归操作
散列表查找(哈希表)-简单概述和算法实现(除留余数法,开发地址法的线性探测)(C语言) 目录 基本概念 构造散列函数的方法 处理散列冲突的方法 散列表的查找效率分析 散列表查找算法实现 结构定义 初始化 散列函数 插入 构造 总结
线性查找-顺序表,折半,插值,斐波那契(C语言) 目录 查找的基本概念 顺序表结构定义 顺序查找 顺序查找(无哨兵) 有哨兵顺序查找 有序表的查找 折半(二分)查找 插值查找 斐波那契查找(黄金分割法)斐波那契查找的疑难解释 斐波那契查找
有向无环图-拓扑排序与关键路径(C语言) 有向无环图 拓扑排序 思路 结构定义 拓扑排序 拓扑排序全部代码(含有向邻接表) 关键路径 思路 结构定义 改进的拓扑排序,便于求关键路径 求关键路径,G为有向网,输出 G的各项关键活动 关键路径全部代码(含有向权值邻接表)
最短路径-Dijkstra与Floyd算法(C语言) 邻接矩阵的创建 Dijkstra(迪杰斯特拉)算法 思路 结构定义 Dijkstra算法 打印最短路径及长度和 Floyd(弗洛伊德)算法 思路 结构定义 Floyd算法 打印各顶点间最短路径
最小生成树-Prim与Krukal算法(C语言) Prim(普里姆)算法 prim算法生成最小生成树 Kruskal(克鲁斯卡尔)算法 结构定义 Kruskal算法生成最小生成树 对权值进行排序 查找连线顶点尾部下标
图的遍历-深度优先遍历与广度优先遍历(C语言) 目录 邻接矩阵及邻接表的创建 深度优先遍历(DFS) 邻接矩阵的深度优先遍历 结构定义 邻接矩阵的深度优先遍历操作 邻接矩阵的深度优先递归算法 邻接表的深度优先遍历 结构定义 邻接表的深度优先遍历操作 邻接表的深度优先递归算法 广度优先遍历(BFS) 邻接矩阵的广度遍历 结构定义 邻接矩阵的广度遍历算法 邻接表的广度优先遍历 结构定义 邻接表的遍历算法 广度优先遍历所需队列代码