La búsqueda en profundidad es un método que se utiliza a menudo en las primeras etapas del desarrollo del rastreador.
1. Búsqueda en profundidad
La búsqueda en profundidad es un tipo de algoritmo gráfico. Es un algoritmo transversal para gráficos y árboles. La abreviatura en inglés es DFS, que es profundidad. Primera búsqueda. La búsqueda en profundidad es un algoritmo clásico en la teoría de grafos. El algoritmo de búsqueda en profundidad se puede utilizar para generar la tabla de clasificación topológica correspondiente del gráfico de destino. La tabla de clasificación topológica se puede utilizar para resolver fácilmente muchos problemas relacionados con la teoría de grafos. como el problema del camino más corto, etc.
Las estructuras de datos del montón se utilizan generalmente para ayudar en la implementación del algoritmo DFS. En pocas palabras, el proceso consiste en profundizar en cada ruta de rama posible hasta que no pueda profundizar más y cada nodo solo pueda visitarse una vez.
2. Búsqueda en amplitud
La búsqueda en amplitud (también llamada búsqueda en amplitud, abreviada BFS, que se describe en términos de amplitud a continuación) es un algoritmo transversal para gráficos conectados. Este algoritmo también es prototipo de muchos algoritmos gráficos importantes. El algoritmo de ruta más corta de fuente única de Dijkstra y el algoritmo de árbol de expansión mínima de Prim utilizan ideas similares a la búsqueda en amplitud. Su alias también se llama BFS, que es un método de búsqueda ciega cuyo propósito es expandir y verificar sistemáticamente todos los nodos en el gráfico para encontrar resultados.
Es decir, no considera las posibles ubicaciones de los resultados y busca minuciosamente en todo el gráfico hasta encontrar los resultados. El proceso básico, BFS, consiste en comenzar desde el nodo raíz y atravesar los nodos del árbol a lo largo del ancho del árbol. Si se visitan todos los nodos, el algoritmo aborta. Las estructuras de datos de cola se utilizan generalmente para ayudar en la implementación del algoritmo BFS.
La idea del recorrido en profundidad primero:
Primero visite un punto de inicio específico VI en el gráfico, luego comience desde VI para visitar cualquiera de sus puntos adyacentes vj, y luego comience desde vj para visitar vj Para cualquier punto adyacente no visitado vk, luego continúe con un acceso similar comenzando desde vk. Esto continúa hasta que un determinado vértice no tenga puntos adyacentes no visitados, luego dé un paso atrás y encuentre otros puntos adyacentes no visitados del vértice anterior. de puntos adyacentes.
Si hay puntos adyacentes que aún no han sido visitados, luego de visitar este vértice, comience desde este vértice y realice una visita similar a la mencionada anteriormente, si retrocede un paso, el vértice anterior no tiene; puntos adyacentes no visitados, luego retroceda un paso hacia adelante y busque nuevamente, repitiendo el proceso anterior hasta que se hayan visitado todos los vértices.