设有向无环图G以邻接矩阵的方式存储,G[i][j]中存放的是从结点i出发到结点j的边权,G[i][j]=0代表从i到j没有直接的边,试编写程序,求G图中最长的路径长度。 给出算法的基本设计思想。

admin2017-11-20  33

问题 设有向无环图G以邻接矩阵的方式存储,G[j]中存放的是从结点i出发到结点j的边权,G[j]=0代表从i到j没有直接的边,试编写程序,求G图中最长的路径长度。
给出算法的基本设计思想。

选项

答案基本设计思想:我们知道可以利用弗洛伊德算法(floyd)来求得图中任意两点间的最短路径长度,这里的边权是正数,如果图中所有的边权均为负数,那我们根据弗洛伊德算法求出的便是任意两点间最小的负权路径长度,此时若把所有的边权取相反数,则刚才求得的最短路径长度的相反数一定是现在的最长路径长度;根据此思想,将图G的边权改为它的相反数,得到图G’,然后用floyd算法对G’求出每对顶点间的最短路径,那么图G’中最短路径的相反数即为原图G的最长路径长度。

解析
转载请注明原文地址:https://kaotiyun.com/show/ENRi777K
0

最新回复(0)