Floyd最短路算法的MATLAB程序Word文件下载.docx
《Floyd最短路算法的MATLAB程序Word文件下载.docx》由会员分享,可在线阅读,更多相关《Floyd最短路算法的MATLAB程序Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
r(i,j)=r(i,k)
end
k
d
void
Dijkstral(int
v0)
{
int
i;
bool
s[MAX_VEX];
for(i=0;
i<
dim;
i++)
d[v0][i]=map[v0][i];
s[i]=false;
if((i!
=0)&
&
(d[v0][i]<
INF))
p[v0][i]=v0;
else
p[v0][i]=-1;
}
s[v0]=true;
d[v0][v0]=0;
double
min=INF;
u=v0;
for(int
j=0;
j<
j++)
if(!
s[j]&
d[v0][j]<
min)
u=j;
min=d[v0][j];
s[u]=true;
w=0;
w<
w++)
if((!
s[w])&
(d[v0][w]>
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
4
1
2
9
8
输出文件内容:
23
正文
/*
*
File:
longest.c
Desciption:
动态规划算法计算网络的最长路线和最短路线
Created:
2001/12/2
Author:
Justin
[mailto:
justin_hou@]
*/
#include
<
stdio.h>
#define
N
7
顶点数目
I
999
表示无穷大
graph[N][N]
=
图的邻接矩阵
{I,
4,
5,
8,
I,
I},
6,
7,
9,
9},
5},
4},
I}
};
List[N];
存放拓扑序列
TopologicalOrder();
拓扑排序函数
void
main()
主
函
数
i,
j,
k,
l;
ee[N],
el[N];
最长最短距离
path_e[N][N],
path_l[N][N],
n_e[N],
n_l[N];
记录路径数据
初始化数据
for
(i
0;
i
N;
i++)
n_e[i]
到
的最短路线的结点数
n_l[i]
的最长路线的结点数
ee[i]
I;
el[i]
ee[0]
el[0]
初始化头结点
path_e[0][0]
path_l[0][0]
n_e[0]
1;
n_l[0]
拓扑排序
if
(!
TopologicalOrder())
return;
未完
Top
2楼atlantis13579(更深的蓝)(^_^)回复于2002-07-2115:
42:
06得分0
作者