Pseudo Code
Coddy'nin Derinlik Öncelikli Arama - Graf Algoritmaları kursunda ders 4 / 9.
buildAdjacency(n, edges):
adj = n empty lists
for each pair (u, v) in edges:
adj[u].add(v)
adj[v].add(u) # undirected
sort every adj[i] ascending
dfs(n, edges, start):
build adjacency
visited = all false
stack = [start]
order = []
while stack not empty:
node = stack.pop()
if visited[node]: continue
visited[node] = true
order.add(node)
for nb in adj[node] from last to first:
if not visited[nb]: stack.push(nb)
return order- Komşuluk listesi (adjacency list), düz kenar dizisini her bir köşe için komşularının sıralı bir listesine dönüştürür.
- Komşuları sondan başa (last-to-first) yığına eklemek, yığının en küçük komşuyu ilk önce geri vermesini sağlar, böylece ziyaret sırası deterministik olur.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Derinlik Öncelikli Arama - Graf Algoritmaları bölümündeki tüm dersler
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)