I have noticed that different data structures are used when we implement search
ID: 646549 • Letter: I
Question
I have noticed that different data structures are used when we implement search algorithms. For example, we use queues to implement breadth first search, stacks to implement depth-first search and min-heaps to implement the A* algorithm. In these cases, we do not need to construct the search tree explicitly.
But I can not find a simple data structure to simulate the searching process of the AO* algorithm. I would like to know if constructing the search tree explicitly is the only way to implement AO* algorithm? Can anybody provide me an efficient implementation?
Explanation / Answer
Regarding this article every time you expand a node in the AO* algorithm you must go backwards to update all of its predecessors