¿Cómo usaría BFS en un árbol para imprimir los valores de cada nivel por separado?

Si en el recorrido BFS mantiene el nivel del nodo, puede imprimir los valores en cada nivel.

Todo lo que necesita hacer es cuando visita un vértice a través del recorrido BFS, mantenga 2 estados:

  1. Vértice padre
  2. Nivel del vértice

Vértice principal: esto se puede mantener fácilmente. En un BFS simple, empuja todos los nuevos nodos adyacentes al vértice en proceso en una cola. Supongamos que “v” fue empujado a la cola cuando estaba procesando el vértice “u”. Luego establezca Parent [v] = u. Esta línea se puede establecer mientras se empuja el vértice a la cola.

Nivel del vértice: Esto se puede volver a hacer fácilmente agregando esta línea cuando marca un nodo como visitado en BFS. Supongamos que visitó el vértice “v”. Luego establezca el Nivel [v] = Nivel [Principal [v]] + 1.

Ahora ha marcado el nivel de cada nodo y puede hacer lo que quiera.

Verifique el recorrido de orden de nivel en geeksforgeeks.

http://www.geeksforgeeks.org/lev