Kode Semu
Pelajaran 4 dari 9 dalam kursus Breadth-First Search: Algoritma Graf di 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() # take from the FRONT
order.add(node)
for nb in adj[node]:
if not visited[nb]:
visited[nb] = true
queue.enqueue(nb)
return order- Satu-satunya perbedaan dari DFS adalah kontainernya: queue (FIFO), bukan stack (LIFO).
- Cara mudah untuk menulis queue adalah menggunakan array dengan indeks head yang terus bergerak: lakukan dequeue dengan membaca
queue[head], lalu tingkatkan nilaihead.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Breadth-First Search: Algoritma Graf
Latihan sendiri: Compiler C online