Buscando en un árbol (estructura de datos)

Para buscar en un gráfico, primero construimos un árbol que cubra el gráfico.

Amplitud primera búsqueda

Navegación BFS aumentando la profundidad a la raíz.

Amplitud primera búsqueda

BFS(Gráfico G, Nodo s): {f = CreateQueue (); f. pila (s); marcas);
  tiempo no f.empty () s = f.pop (); impresión (s);
      por cada hijo t de s en G
           tejo t DO sin marcar f. pila (t); marca (t);
           terminara si
      final para
  terminar mientras       
 }

Búsqueda en profundidad: reserva

Los algoritmos detallados son recursivos. En la ruta del prefijo, siempre examinamos el subárbol izquierdo antes de procesar el subárbol derecho.

Búsqueda en profundidad: reserva

  1. Compruebe si el nodo actual está vacío o es nulo.
  2. Muestra la parte de datos de la raíz (o nodo actual).
  3. Atraviesa el subárbol izquierdo llamando de forma recursiva a la función de reserva.
  4. Atraviesa el subárbol derecho llamando de forma recursiva a la función de reserva.

Búsqueda en profundidad: en orden

El LNR navega lo más a la izquierda posible y muestra las ramas de izquierda a derecha. Este algoritmo muestra las diagonales de abajo hacia arriba.

Búsqueda en profundidad: en orden

  1. Compruebe si el nodo actual está vacío o es nulo.
  2. Atraviesa el subárbol izquierdo llamando de forma recursiva a la función en orden.
  3. Muestra la parte de datos de la raíz (o nodo actual).
  4. Atraviesa el subárbol derecho llamando de forma recursiva a la función en orden.

Búsqueda en profundidad: fuera de servicio

Esta es una navegación diagonal de arriba a abajo.

Búsqueda en profundidad: fuera de servicio

  1. Compruebe si el nodo actual está vacío o es nulo.
  2. Atraviesa el subárbol izquierdo llamando de forma recursiva a la función posterior al pedido.
  3. Atraviese el subárbol derecho llamando de forma recursiva a la función posterior al pedido.
  4. Muestra la parte de datos de la raíz (o nodo actual).

Compartir, repartir