有向图

无向图

图的遍历

深度优先遍历类似树的前序遍历,若采用邻接矩阵算法时间复杂度O((n^2)),若采用邻接表表示时间复杂度O(n+e)。

广度优先遍历类似树的按层次遍历,若采用邻接矩阵算法时间复杂度O((n^2)),若采用邻接表表示,时间复杂度为O(n+e)。

图的生成树和最小生成树

最小生成树有两种算法:普里姆算法和克鲁斯卡尔算法。

最短路径

迪杰斯特拉(Dijkstra)最短路径算法。

用于计算一个节点到其他节点的最短路径

图解:

这里写图片描述

此时,起点D到各个顶点的最短距离就计算出来了:A(22) B(13) C(3) D(0) E(4) F(6) G(12)。

拓扑排序

(1)在有向图中选一个没有前驱(入度为0)的顶点,且输出之。

(2)从有向图中删除该顶点及其与该顶点有关的所有边。

(3)重复执行上述两个步骤,直到全部顶点都以输出或者图中剩余的顶点中没有前驱(入度为0)顶点为止。
(4)输出剩余的无前驱结点。

原文地址:https://www.cnblogs.com/snail-gao/p/11739686.html