For search tree creation, the OccursOnPath check serves the same purpose, so a vertex's open/closed status can be eliminated:
Search(s,adder)open[s] = falsed[s] = 0 pred[s] = null DEQ = {s} while DEQ ≠ {} do u = Remove[DEQ] for each v ∈ Expand(u) doif open[v] = truethen open[v] = falseAdd(DEQ,v,adder)