Курсовая работа: Поиск кратчайшего пути в лабиринте 2

weight:LongInt;

yes:Boolean;

begin

nX:=na-1; (* X={0,1,2,...,nX} - множество вершин *)

//Вычисления

for x:=0 to nX do begin

Mark[x]:=FALSE;

Dist[x]:=$7fffffff;

end;

y:=x0; {Последняя вершина с постоянной меткой}

Mark[y]:=TRUE;

Dist[y]:=0;

zEnd:=z;

while not Mark[z] do begin

{Обновить временные метки}

for x:=0 to nX do

if (not Mark[x]) and YesRib(x,y) and (Dist[x]>Dist[y]+1) then begin

Dist[x]:=Dist[y]+1;

Prev[x]:=y;

end;

{Поиск вершины с минимальной временной меткой}

yes:=False;

weight:=$7fffffff;

for x:=0 to nX do if not Mark[x] then if weight>Dist[x] then begin

weight:=Dist[x];

y:=x;

yes:=True;

end;

if not yes then begin

К-во Просмотров: 521
Бесплатно скачать Курсовая работа: Поиск кратчайшего пути в лабиринте 2