Menu
Coddy logo textTech

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.

quiz iconKendini test et

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