Many of the search algorithms can be written so that they consider the search graph to be a tree, even if it actually is a graph.

** Advantages:**

- Simpler programming.
- Saves computer time required to find duplicated states.
- Saves storage: no need to store previous states.

** Disadvantage:**

- Larger search space because the same node (and its descendants) are searched multiple times.

If the problem has a high degree of symmetry or high probability of duplicated states, detecting duplicates may have large savings. If the probability of duplicates is small, treating the graph as a tree is easier and may be faster.