Pseudo Code
الدرس 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- تقوم قائمة الجوار بتحويل مصفوفة الحواف المسطحة إلى قائمة مرتبة من الجيران لكل رأس.
- إن دفع الجيران من الأخير إلى الأول يجعل المكدس يعيد الجار الأصغر أولاً، وبذلك يكون ترتيب الزيارة محددًا.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البحث بالعمق أولاً - خوارزميات المخططات
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)