¿Cuáles son las diferencias entre los algoritmos que realizan la búsqueda en un gráfico y los algoritmos que realizan la búsqueda en un árbol?

Esto tiene mucho más que ver con la estructura de un árbol y un gráfico que con cualquier cosa que tenga que ver con el algoritmo de búsqueda.

Este es un gráfico:

Esto es un árbol:

Un gráfico casi siempre tendrá relaciones circulares (ver arriba), el hecho de no tratarlas de forma inteligente hará que su algoritmo sea muy infeliz con usted (bucle infinito), por lo que a menudo (siempre ?, sinceramente, no conozco CADA búsqueda de gráfico algoritmo) ver algoritmos de búsqueda en gráficos que tienen una pila de nodos “visitados”.

Se prohíbe que los árboles tengan una relación circular, y las implementaciones de búsqueda de árboles son generalmente de Profundidad-Primero o de Ancho-Primero. Curiosamente, el enfoque para Breadth-First no es completamente diferente de algunos enfoques para buscar un gráfico (ambos usan una pila o cola de nodos visitados y aparecen y empujan a la pila a medida que avanzan).

Sin embargo, puedo asegurarle que Breadth-First sin modificación no funcionará en un gráfico sin nodo raíz (que es todo), y si bien podría usar una función de búsqueda de gráficos en un árbol, estaría haciendo mucho de trabajo extra para hacerlo.

Espero que esto ayude.

Los algoritmos de búsqueda que se aplican en los árboles son un subconjunto de los algoritmos aplicados en el gráfico.

Los árboles son los casos en los que el gráfico no contiene ningún ciclo.