有关算法的问题(很急啊,大家帮帮忙)(100分)

笨猪

Unregistered / Unconfirmed
GUEST, unregistred user!
有那位兄弟用高级语言(pascal或者c或者delphi或者其他语言)写过迪杰斯特拉
(dijksdtra)算法和弗洛伊德(Floyd)算法的实现代码?(即是在有向图中求两
点间最短路径的算法!!!)有的话,请贴出代码或者发到我的邮箱好吗?真的很
急啊!!!谢了!!!我的邮箱是:pzh509@163.net
 
procedure dijkstra
begin
s:={1};
for i:=2 to ndo
d:=c[1,i];
for i:=1 to n-1do
begin

选取v-s中顶点w,使d[w]=min{d[v]/v属于v-s}
insert(w,s);
for v-s 中每个顶点vdo
d[v]:=min(d[v],d[w]+c[w,v])
end;
end;

procedure floyd(a,c)
var
i,j,k:integer;
begin
for i:=1 to ndo
for j:=1 to ndo
a[i,j]:=c[i,j];
for i:=1 to ndo
a[i,j]:=0;
for k:=1 to ndo
for i:=1 to ndo
for j:=1 to ndo
if a[i,k]+a[k,j]<a[i,j] then
a[i,j]:=a[i,k]+a[k,j]
end;
以上是伪代码,应该看得懂吧
 
接受答案了.
 
顶部