Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
【算法学习笔记】19:拓扑排序
1 简述 计算拓扑序列的一个方式是 用BFS来尝试访问所有的节点 但是有一个约束就是只有入度为 0 0 0的节点才能被加入到扩展队列里 每次从队列里取出一个节点 也就同时在图中将这个节点拆除 所以它的所有后继的节点都减少 1 1 1 如果已
算法(学习)
拓扑排序
BFS
图论
【算法学习笔记】20:朴素Dijkstra与堆优化Dijkstra(无负权边单源点最短路)
Dijkstra算法用于在所有边权都非负的图上 求单源点最短路 设 n n n是图上结点的数量 m m m是边的数量 则朴素Dijkstra算法的时间复杂度是 O
算法(学习)
Dijkstra
迪杰斯特拉
单源点最短路
朴素Dijkstra
【算法学习笔记】17:DFS与BFS
1 DFS 深度优先搜索常用于解决需要给出所有方案的问题 因为它的搜索顺序就是能够得到一个完整的搜索路径 方案 后回退再去搜索其它的方案 1 1 例题 排列数字 由于要求所有排列的方案 可以每次从 1 n 1 n 1 n里拿一个数字 然后记
算法(学习)
DFS
BFS
深度优先搜索
广度优先搜索
【算法学习笔记】24:Prim算法与Kruskal算法(最小生成树)
Prim算法和Dijkstra算法很相似 而且也按照是不是稀疏图分成了两种 对于稠密图 用朴素版的Prim算法 时间复杂度 O n 2 O n 2
算法(学习)
Prim
Kruskal
最小生成树
图论
【算法学习笔记】26:匈牙利算法(二分图最大匹配)
1 简述 给定一个二分图 例如 匈牙利算法能够快速的计算出一种匹配方式 使得匹配的数量最多 注意 一个成功的匹配方式中 没有两条边是共用了同一个点的 形象的说 这个问题可以理解成二分图两边分别是男生和女生 有连线的表示可以凑成一对 匈牙利算
算法(学习)
匈牙利算法
二分图
二分图匹配
图论