码迷,mamicode.com
首页 > 其他好文 > 详细

dijkstra算法模板

时间:2014-08-17 22:42:22      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   for   ar   art   div   log   

var
  n:longint;
  g:array[0..10,0..10] of longint;
  { fillchar(g,sizeof(g),10) }
  { 标记是否被更新过 }
  f:array[0..10] of boolean;
  { 顶点i到start的最短距离 }
  d:array[0..10] of longint;
procedure dijkstra(start:longint);
  var i,j,k,t,min:longint;
  begin
    fillchar(f,sizeof(f),10);
    d[start]:=0;
    f[start]:=false;
    for i:=1 to n do
      d[i]:=g[start,i];
    for i:=1 to n do
      begin
        min:=oo;
        for j:=1 to n do
        { 在“还没有被更新过”的集合中找最小值和它的位置 }
          if (f[j] and (d[j]<min)) then
            begin
                min:=d[j];
                k:=j;
            end;
        { 加入“更新过”的集合 }
        f[k]:=false;
        { 更新距离 }
        for j:=1 to n do
          if f[j] then
            d[j]:=min(d[j],d[k]+g[k,j]);
      end;
  end;

dijkstra算法模板,布布扣,bubuko.com

dijkstra算法模板

标签:style   blog   color   for   ar   art   div   log   

原文地址:http://www.cnblogs.com/cuichen/p/3918361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!