图论总结

图论中最基础的包括:深度优先遍历和广度优先遍历。

算法包括:1.最小生成树算法          

                     prim算法。prim算法适合稠密图,其时间复杂度为O(n^2),其时间复杂度与边得数目无关。

             kruskal算法。kruskal算法的时间复杂度为O(eloge)跟边的数目有关,适合稀疏图。                

                     图有两种主要的表示方法:邻接矩阵和邻接表。

                决定我们采用邻接矩阵还是采用邻接表来表示图,需要判断一个图是稀疏图还是稠密图。邻接矩阵和邻接表表示图所需的存贮空间和算法时间度相差非常大,所以判断一个图是稀疏的还是稠密的非常重要。

                判断标准如下:
                假设一个图G=(V,E)有n个节点,图G的每个节点的出度是一个固定的常数:k。由于E=kV=O(V) ,所以我们把符合E=O(V) 条件的图称为稀疏图。
                同理 :
                如果一个图G=(V,E)有n个节点,假设图G的每个节点的出度是关于n的一个小数,并且0<f<=1,我们把符合E=fV2(平方)=V2(平方)条件的图称为稠密图。
                比如:一个图节点为16,节点的出度为4,那么f = 0.25。

                据说:邻接表是表示图的标准方法,原因是稠密图在实际应用中并不多见。

             2.求图的最短路径算法

              dijkstra算法:从一个顶点到其余个顶点的最短路径。

              floyed算法:任意一对顶点之间的路径。

             3.关键路径算法

原文地址:https://www.cnblogs.com/didi520/p/4165554.html