Genişlik ilk arama için standart sahte kod İşte:
{ 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
Burada push
ve pop
kuyruk işlemleri olduğu varsayılmaktadır. Ama ya yığın işlemleri ise? Elde edilen algoritma, köşeleri birinci dereceden sırayla ziyaret ediyor mu?
"Bu önemsiz" yorumuna oy verirseniz, neden önemsiz olduğunu açıklamanızı rica ediyorum. Sorunu oldukça zor buluyorum.
5
Öğrencilerin bununla mücadele ettiğini gördüm, bu yüzden kesinlikle çok basit olduğunu düşünmüyorum. Ancak, bir cevabın içinde "Evet" veya "Hayır" dan daha fazla ne olmalı? Arzu edilen taneciklik sorudan net değil.
—
Raphael
"Evet" ikna edici bir argümanla gelirdi; "hayır" bir karşı örnekle birlikte gelirdi. Ama neler olduğunu
—
anlayınca
@Joe Dave: bakın izleyen meta tartışma
—
Gilles 'SO dur olma kötülüğü'
Sözde kod yazmak mümkündür, böylece sadece
—
Joe
pop
bir yığına veya bir sıra işlemine geçerek dfs veya bfs alırız. Ayrıca ilk başta bunun doğru olduğunu belirten sözde kod yazmak kolaydır, ancak öyle değildir. ics.uci.edu//~eppstein/161/960215.html ilgili bir referanstır.