Q: How do we produce the children of a vertex in the search tree? That is, how do we replace the reference to Adj[u] below?
Search(s,adder)
for each u ∈ V[G]-{s} do
open[u] = true
d[u] = ∞
pred[u] = null
open[s] = false
d[s] = 0
pred[s] = null
DEQ = {s}
while DEQ ≠ {} do
u = Remove[DEQ]
for each v ∈ Adj[u] do
if open[v] = true
then open[v] = false
d[v] = d[u] + 1
pred[v] = u
Add(DEQ,v,adder)