有关算法的问题(很急啊,大家帮帮忙)(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;
以上是伪代码,应该看得懂吧
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部