Pseudo Code
الدرس 4 من 9 في دورة البحث بالعرض أولاً - خوارزميات المخططات على Coddy.
bfs(n, edges, start):
build adjacency (sort each list ascending)
visited = all false
queue = [start]; visited[start] = true
order = []
while queue not empty:
node = queue.dequeue() # خذ من المقدمة (FRONT)
order.add(node)
for nb in adj[node]:
if not visited[nb]:
visited[nb] = true
queue.enqueue(nb)
return order- الفرق الوحيد عن DFS هو الحاوية: queue (FIFO) بدلاً من stack (LIFO).
- طريقة سهلة لكتابة الطابور (queue) هي مصفوفة مع مؤشر head متحرك: يتم إلغاء الطابور (dequeue) عن طريق قراءة
queue[head]وتقديمhead.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البحث بالعرض أولاً - خوارزميات المخططات
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)