Loading...
1procedure BFS(G, start)2 create empty queue Q3 mark start as visited4 enqueue(Q, start)5 while Q not empty do6 v ← dequeue(Q)7 visit v8 for each neighbor u of v do9 if u not visited then10 mark u as visited11 enqueue(Q, u)12 end if13 end for14 end while15end procedure
1procedure DFS(G, v)2 mark v as visited3 visit v4 for each neighbor u of v do5 if u not visited then6 DFS(G, u)7 end if8 end for9end procedure
1procedure DIJKSTRA(G, source)2 for each vertex v in G do3 dist[v] ← ∞4 prev[v] ← NULL5 end for6 dist[source] ← 07 S ← empty set8 Q ← all vertices of G (min-priority by dist)9 while Q not empty do10 u ← extractMin(Q)11 add u to S12 for each (u, v) with weight w do13 if dist[u] + w < dist[v] then14 dist[v] ← dist[u] + w15 prev[v] ← u16 decreaseKey(Q, v, dist[v])17 end if18 end for19 end while20 return dist, prev21end procedure