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:
- Vértice padre
- 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.
- ¿Cuál es el algoritmo más rápido para calcular el késimo elemento más pequeño en la unión de dos listas ordenadas de tamaño myn?
- ¿Qué estrategias o algoritmos se utilizan para agrupar rutas de pasajeros en función de la ubicación y la hora de salida?
- Cómo resolver el problema M_SEQ en SPOJ
- ¿Cuál es una explicación simple del algoritmo del modelo oculto de Markov?
- ¿Debería centrarme en el aprendizaje de algoritmos y estructuras de datos en profundidad, o aprender una habilidad como desarrollo web o desarrollo móvil usando Nanodegree?
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.