No Need to Store Open/Closed Status

The purpose of tracking a graph vertex's open/closed status was to make sure each vertex was visited only once.

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] = false
   d[s] = 0
   pred[s] = null
   DEQ = {s}
   while DEQ ≠ {} do
      u = Remove[DEQ]
      for each v ∈ Expand(u) do
         if open[v] = true
            then open[v] = false
                 Add(DEQ,v,adder)