Ini adalah pseudocode standar untuk pencarian pertama luasnya:
{ seen(x) is false for all x at this point }
push(q, x0)
seen(x0) := true
while (!empty(q))
x := pop(q)
visit(x)
for each y reachable from x by one edge
if not seen(y)
push(q, y)
seen(y) := true
Di sini pushdan popdianggap sebagai operasi antrian. Tetapi bagaimana jika mereka adalah operasi stack? Apakah algoritma yang dihasilkan mengunjungi simpul dalam urutan pertama?
Jika Anda memilih komentar "ini sepele", saya akan meminta Anda untuk menjelaskan mengapa itu sepele. Saya menemukan masalahnya cukup rumit.
popke stack atau operasi antrian, kita mendapatkan dfs atau bfs. Juga mudah untuk menulis pseudo-code yang pertama kali muncul bahwa ini benar, tetapi tidak. ics.uci.edu//~eppstein/161/960215.html adalah referensi yang relevan.
