Searching algorithms find a value inside a given data structure. Common searching algorithms are applied on arrays, linked lists and binary trees, but more generally graphs. When searching through graphs, we often use a data structure to store the frontier, i.e., the nodes that we have not checked yet. Three choices make sense:
- A priority queue, which pops the node with the minimum cost.
- A FIFO queue, used in breadth-first search.
- A stack (or LIFO queue), used in depth-first search.
List
- Binary search
- Graph search