高等图算法

一、求所有点对间最短路径

弗洛伊德算法:

假设以加权有向图G=(V, E)为对象,则该算法不需要G的所有边均非负,只要G不包含负环即可(所有边的权值之和为负的环)。同时可判断G中是否有负环(若算法执行完后,存在某顶点到其自身最短距离为负时,则表示有负环)。

二、拓扑排序

有向无环图DAG可用于表示各种事物的顺序。而拓扑排序是指:只要存在边(u, v),则让u在线性序列中位于v之前(可用深度优先搜索和广度优先搜索)。

三、关节点

在无向连通图G中,若删除顶点u及从u出发的所有边后所得的子图不连通,则称顶点u为图G的关节点。

四、树的直径

算法步骤:

1. 任选一结点s,求到s最远的结点x。

2. 求到x最远的结点y;

3. 得到结点x和结点y的距离,即是树的直径

五、最小生成树

针对给定加权图G=(v, E) ,输出最小生成树各边的权值

Kruska's Algorithm (基于互质集合的数据结构)

posted @ 2017-10-28 21:51  zmlgo  阅读(276)  评论(0编辑  收藏  举报