Para hacer el gráfico a partir de una secuencia DFS dada, haga lo siguiente: –
Haga una pila y presione el primer nodo de la secuencia en la pila.
Ahora, recorra desde el segundo nodo de la secuencia hasta el final empujándolos dentro de la pila y luego retirándolos de acuerdo con la siguiente receta:
- Si un hombre está limitado por el conocimiento, ¿podemos crear un algoritmo para sus elecciones y determinar su futuro?
- Cómo construir un algoritmo para un dron que debería aprender de sus comentarios
- ¿Cuál es el principio principal del algoritmo de búsqueda binaria?
- ¿Qué es una explicación intuitiva de union-find?
- ¿Cómo se debe describir y hablar sobre la recursividad cuando se hace pizarra o se programa un par?
CN = nodo actual; TS = Parte superior de la pila
- SI CN no es igual a TS, marque TS-CN como un borde y empuje CN a la Pila. Continuar atravesando
- Si CN es igual a TS, elimine TS de la pila. Continúa atravesando.
Ejemplo:
Supongamos que el recorrido del gráfico DFS dado es – AEFFGGEBDDCCBA
Al principio, haremos una pila y empujaremos el primer nodo, es decir, ‘A’.
Pila = [A]
Ahora atravesaremos la matriz desde el siguiente nodo en la secuencia, es decir, ‘E’ hasta el final.
- A [matemáticas] \ neq [/ matemáticas] E. Edge-1 = AE. Pila = [A, E]
- E [matemáticas] \ neq [/ matemáticas] F. Edge-2 = EF. Pila = [A, E, F]
- F = F. Retire F de la pila. Pila = [A, E]
- E [matemáticas] \ neq [/ matemáticas] G. Edge-3 = EG. Pila = [A, E, G]
- G = G. Eliminar G de la pila. Pila = [A, E]
- E = E. Retire E de la Pila. Pila = [A]
- A [matemáticas] \ neq [/ matemáticas] B. Edge-4 = AB. Pila = [A, B]
- B [matemáticas] \ neq [/ matemáticas] D. Edge-5 = BD. Pila = [A, B, D]
- D = D. Retire D de la pila. Pila = [A, B]
- B [matemáticas] \ neq [/ matemáticas] C. Borde-6 = BC. Pila = [A, B, C]
- C = C. Retire C de la pila. Pila = [A, B]
- B = B. Retire B de la pila. Pila = [A]
- A = A. Retire A de la pila. Pila = []
Ahora tiene los bordes necesarios: –
AE, EF, EG, AB, BD, BC.
ps: este es el método que utilicé para resolver el siguiente problema: –
Juez en línea UVa 12582 – Boda del sultán
No estoy seguro de si este es el método correcto o no.
Si esta respuesta es incorrecta, comente. Lo borraré