我需要使用邻接矩阵表示通过ADT图实现Dijkstra算法,通过使用C/C++语言增强下面的伪代码来找到最短路径.
procedure Dijkstra(G, w, r, Parent[0:n-1], Dist)
for v? 0 to n-1 do
Dist[v] ? ?
InTheTree[v] ? .false.
endfor
Parent[r] ?-1
Dist[r] ?0
for Stage ?1 to n-1 do
Select vertex u that minimises Dist[u] over all u such that InTheTree[u] = .false.
InTheTree[u] = .true. // add u to T
for each vertex v such that uv ? E do // update Dist[v] and
if .not. InTheTree[v] then // Parent[v] arrays
if Dist[u] + w(uv) < Dist[v]
Dist[v] …Run Code Online (Sandbox Code Playgroud)