C# 弗洛伊德(Floyd)算法

时间:2021-07-10 09:14:20
弗洛伊德(Floyd)算法 主要是用于计算图中所有顶点对之间的最短距离长度的算法,如果是要求某一个特定点到图中所有顶点之间的最短距离可以用;
        ;    ;    ;
            g.edges = , ,INF,},
            {, ,  ,},
            {INF, , ,INF},
            {,,INF,}
            };

; i < g.n; i++)        ; j < g.n; j++)
                    g.edges[i, j] = a[i, j];; i < g.n; i++)
            {
                ; j < g.n; j++);
                }
            }
            ; k < g.n; k++)
            {
                ; i < g.n; i++)
                    ; j < g.n; j++)
                        ; i < n; i++)
                ; j < n; j++)
                {
                    ) return;    //找到了起点则返回
            Ppath(path, i, k);    //找顶点i的前一个顶点k

Console.Write("{0},", k);    //输出路径上的终点
            Ppath(path, k, j);    //找顶点k的前一个顶点j
        }

static void Main(string[] args)
        {
            initdata();
            
            //Console.Write("{0}", MaxSize);
            //Console.Write("{0}", MAXV);
            Console.ReadKey();
        }
    }
}