Search(s)
d[s] = 0
pred[s] = null
The algorithm uses a double-ended queue DEQ and adds at the end or front in order to perform breadth-first or depth-first search, respectively.
Q: What sort of structure is required to store and deliver states with the lowest heuristic values first?