Descripción
Aplica el algoritmo de Fleury para obtener el camino o ciclo de Euler en un grafo euleriano.
Si el grafo no es euleriano, devuelve []
https://www.geeksforgeeks.org/fleurys-algorithm-for-printing-eulerian-path/
Cadena de entrada
gr_fleury
Cadena de salida
GRAFO.fleury
Uso
gr_fleury(<grafo>)
Ejemplos
gr_fleury(gr_nuevo([[0,2,2,1],[2,0,0,1],[2,0,0,1],[1,1,1,0]],falso,falso,falso,verdadero))
VectorEvaluado: []
Ciclo euleriano:eval(gr_etiquetas(g,gr_fleury(g)),g,gr_nuevo([[0,1,1,0,0,0],[1,0,1,1,1,0],[1,1,0,1,1,0],[0,1,1,0,1,1],[0,1,1,1,0,1],[0,0,0,1,1,0]],falso))
VectorEvaluado: ['v0','v1','v2','v3','v1','v4','v3','v5','v4','v2','v0']
Salida en JMEScriptGUI con visor de grafos v0.1:
eval(gr_etiquetas(g,gr_fleury(g)),g,gr_nuevo([[0,1,0,0,1,0],[1,0,1,1,0,1],[0,1,0,0,1,0],[0,1,0,0,1,0],[1,0,1,1,0,1],[0,1,0,0,1,0]],falso))
VectorEvaluado: ['v0','v1','v2','v4','v3','v1','v5','v4','v0']
Salida en JMEScriptGUI con visor de grafos v0.1:
eval(gr_etiquetas(g,gr_fleury(g)),g,gr_nuevo([[0,0,1,1,0,0,0,0],[0,0,0,0,1,0,1,0],[1,0,0,1,1,1,0,0],[1,0,1,0,0,1,1,0],[0,1,1,0,0,0,1,1],[0,0,1,1,0,0,0,0],[0,1,0,1,1,0,0,1],[0,0,0,0,1,0,1,0]],['a','b','c','d','e','f','g','h']))
VectorEvaluado: ['a','c','d','f','c','e','b','g','e','h','g','d','a']
Salida en JMEScriptGUI con visor de grafos v0.1:
eval(gr_etiquetas(g,gr_fleury(g)),g,gr_nuevo([[0,1,1,0,0],[1,0,1,1,1],[1,1,0,1,1],[0,1,1,0,1],[0,1,1,1,0]],falso))
VectorEvaluado: ['v4','v1','v0','v2','v1','v3','v2','v4','v3']
Salida en JMEScriptGUI con visor de grafos v0.1:
eval(gr_etiquetas(g,gr_fleury(g)),g,gr_nuevo([[0,1,1,0,1,0],[1,0,1,1,0,1],[1,1,0,1,1,0],[0,1,1,0,1,1],[1,0,1,1,0,1],[0,1,0,1,1,0]],falso))
VectorEvaluado: ['v5','v1','v0','v2','v1','v3','v2','v4','v3','v5','v4','v0']
Salida en JMEScriptGUI con visor de grafos v0.1:
Desde / Última modificación
v0.6.2.0