未确定
当前节点
距离更新
已确定
最短距离:等待开始
选择起点,然后点击“开始 Dijkstra”。
1 function dijkstra(start) {
2 dist[start] = 0;
3 pq.push([start, 0]);
4 while (pq.length) {
5 [u, d] = extractMin(pq);
6 if (visited.has(u)) continue;
7 visited.add(u);
8 for ([v, w] of graph[u]) {
9 if (dist[u] + w < dist[v]) {
10 dist[v] = dist[u] + w;
11 prev[v] = u;
12 pq.push([v, dist[v]]);
13 }
14 }
15 }
16 }
队列为空