xuanduclb123

Ngô Văn Xuân Đức

Đóng góp: 0

Ngày sinh: 01/01/1998

Đăng ký: 17/08/2015

Lần đăng nhập cuối: 18/09/2018


Kết nối tài khoản

VOJ: Chưa kết nối

dijkstra heap

FOR i:=1 TO n DO
  BEGIN
    B[i]:=TRUE; D[i]:=1000000000;
    Pos[i]:=0;  Tr[i]:=0;
  END;
Pos[Fir]:=1; HP[1]:=Fir;  D[Fir]:=0; Top:=1;
REPEAT
  u:=PopHP;
  IF u=0 THEN Break;B[u]:=FALSE;
  i:=HD[u];
  WHILE i<>0 DO
    BEGIN
      v:=Adj[i];
      Tam:=D[u]+Cost[i];
      IF (Tam<D[v]) AND (B[v]) THEN
        BEGIN
          D[v]:=Tam;
          Capnhat(v);
          Tr[v]:=u;
        END;
      i:=link[i];
    END;
UNTIL U=Fin;
Res:=D[Fin];