中易网

Floyd算法可以用来求最长路径吗

答案:2  悬赏:60  
解决时间 2021-02-14 01:09
Floyd算法可以用来求最长路径吗
最佳答案
有环图不存在最长路径吧?因为可以无限绕圈
如果是无环图的话,把所有边取相反数,就变成了求最短路,可以使用floyd,因为两点之间最多只有一条路相通
全部回答
#include <stdio.h> #define n 7 #define i 999 int graph[n][n] = { {i, 4, 5, 8, i, i, i}, {i, i, i, 6, 6, i, i}, {i, i, i, 5, i, 7, i}, {i, i, i, i, 8, 9, 9}, {i, i, i, i, i, i, 5}, {i, i, i, i, i, i, 4}, {i, i, i, i, i, i, i} }; int list[n]; int topologicalorder(); void main() { int i, j, k, l; int ee[n], el[n]; int path_e[n][n], path_l[n][n], n_e[n], n_l[n]; for (i = 0; i < n; i++) { n_e[i] = 0; n_l[i] = 0; ee[i] = i; el[i] = 0; } ee[0] = el[0] = 0; path_e[0][0] = 0; path_l[0][0] = 0; n_e[0] = 1; n_l[0] = 1; if (!topologicalorder()) return; for (i = 0; i < n; i++) { k = list[i]; for (j = 0; j < n; j++) { if (graph[k][j] != i) { if (graph[k][j] + ee[k] < ee[j]) { ee[j] = graph[k][j] + ee[k]; for (l = 0; l < n_e[k]; l++) { path_e[j][l] = path_e[k][l]; } path_e[j][l] = j; n_e[j] = l + 1; } if (graph[k][j] + el[k] > el[j]) { el[j] = graph[k][j] + el[k]; for (l = 0; l < n_l[k]; l++) { path_l[j][l] = path_l[k][l]; } path_l[j][l] = j; n_l[j] = l + 1; } } } } for (i = 0; i < n; i++) { printf("shortest(%d): %2d path: ", i + 1, ee[i]); for (j = 0; j < n_e[i]; j++) { printf("%d ", path_e[i][j] + 1); } printf("\n"); printf("longest (%d): %2d path: ", i + 1, el[i]); for (j = 0; j < n_l[i]; j++) { printf("%d ", path_l[i][j] + 1); } printf("\n"); } } int topologicalorder() { int i, j, top, count; int indegree[n], stack[n]; top = 0; for (i = 0; i < n; i++) { indegree[i] = 0; for (j = 0; j < n; j++) { if (graph[j][i] != i) { indegree[i]++; } } if (!indegree[i]){ stack[top++] = i; } } count = 0; while (top != 0) { i = stack[--top]; list[count++] = i; for (j = 0; j < n; j++) { if (graph[i][j] != i) { if (!(--indegree[j])) { stack[top++] = j; } } } } return (count < n) ? 0 : 1; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小玲看一本书,第一周看了这本书的3/4,正好
德国留学中介费用要多少,留学德国硕士有哪些
青岛现在自助餐 那个地方的好吃 dozo还是尚井
不自信怎么办,总觉得自己不如别人好,
佰迪乐KTV南宁北湖店地址在什么地方,想过去
中国人人品素质你们觉得怎么样
私立学校可以收费补课吗?
1991年9月16日辰时出生总结是什么命
福瑞瓷行地址有知道的么?有点事想过去
水稻、小麦、玉米对肥料养分配比的要求,谢谢
用电烙铁把线焊接到电路板上,可是
我买了一部小黄龙250的 觉得大灯不好看 想改
中国联通(银泰手机电脑城3G体验店)这个地址在
紫砂可以打碎再造吗
cf游戏字体改了之后怎么弄回原来的字体??
推荐资讯
全封闭耳机是完全隔绝外界的声音吗?
豆浆机的轴摇摆的厉害,怎么办?
2017北京春晚宋小宝与谁演的小品
跪求!!如何挽回已经死心(离去)的女友
雅马哈P115电钢琴数码钢琴88键重锤怎么样,质
哪个网站可免费下载flash课件
想起一部国产电影但是不记得太多细节,求电影
枕芯用什么中药好视频
西南政法大学-岭南厅在什么地方啊,我要过去
招警体检鼻中隔偏左,结果马上出来了,请问有
刚买回来的二胡怎么调试
阳光恋人婚纱摄影我想知道这个在什么地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?