For searching, algorithms are more important than data structures. When searching in a large search space, you often have to have sophisticated methods to trim your search space.
You can look at the classic search algorithms such as alpha beta, A *, AO *.
Then look at something like an iteratively deepening search.
In search algorithms, things like stacks and linked lists (which really are a stack) and trees are more important than hash tables, B-trees, etc. Of course, you will undoubtedly have hash tables there, but this will not be the basis of the algorithm.
Here is another important search algorithm:
- B * search
- returns
- Beam search
- best search
- bidirectional search
- climbing search
- simulated annealing
- IDA *
- Iterative in-depth depth search
- search mini max
- search for the nearest neighbor
- distribution activation
- search for the state of space (not a method, just a way to conceptualize the problem).
As for the specific data structures for the search, you really don't need it. Basically, you just need your usual set of data tools - trees, hashes, lists.
Larry watanabe
source share