Floyd 最短路算法的MATLAB 程序 2006-08-17 20:14 %floyd.m %采用floyd 算法计算图a 中每对顶点最短路 %d 是矩离矩阵 %r 是路由矩阵 function [d,r]=floyd(a) n=size(a,1); d=a; for i=1:n for j=1:n r(i,j)=j; end end r for k=1:n for i=1:n for j=1:n if d(i,k)+d(k,j)d[v0][u]+map[u][w])) { d[v0][w]=d[v0][u]+map[u][w]; p[v0][w]=u; } } } } Justin Hou 介绍 寻找最有价值路径(c 语言) 描述: 从上(入口)往下行走,直到最下节点(出口)结束,将所经节点上的数值相加,要求找到一条最有价值路径(既是路径总数值最大)并输出总数值。 图: 入口 ↓ ③ /\ ⑤ ④ / \ / \ ① ② ⑤ \ / \ / ⑨ ⑧ \ / ③ 出口 ↓ 输入文件:(abc.in) 第一行只有一个数 n(1<=n<=199),且 n 为奇数,说明节点的层。从第二行到底 n+1 行为每一层中各节点的数值(在 0 和 100 之间),各个数用空格隔开,输入不要求判错。 输出文件:(abc.out) 只有一个数,为所求路径的价值数。 例子: 输入文件内容: 5 3 5 4 1 2 5 9 8 3 输出文件内容: 23 正文 /* * File: longest.c * Desciption: 动态规划算法计算网络的最长路线和最短路线 * Created: 2001/12/2 * Author: Justin Hou [mailto:justin_hou@hotmail.com] * */ #include #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]; /* 存放拓扑...