פסאודו־קוד
שיעור 4 מתוך 9 בקורס חיפוש לעומק תחילה – אלגוריתמים בגרפים של Coddy.
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- רשימת השכנויות הופכת את מערך הקשתות השטוח לרשימה ממוינת של השכנים עבור כל קודקוד.
- דחיפת השכנים מהאחרון לראשון גורמת למחסנית להחזיר תחילה את השכן הקטן ביותר, כך שסדר הביקור הוא דטרמיניסטי.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה חיפוש לעומק תחילה – אלגוריתמים בגרפים
תרגלו בעצמכם: קומפיילר C אונליין