(V ,E), reprezentowany przez listy i
Transkrypt
(V ,E), reprezentowany przez listy i
Zmodyfikowany algorytm wyznaczania cyklu Eulera Algorytm EulerCycle Input: Spójny graf G = (V, E), reprezentowany przez listy incydencji N(v), którego każdy wierzchołek jest parzystego stopnia. Output: Cykl Eulera reprezentowany na stosie CE. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. STOS= ∅; CE= ∅; v=dowolny wierzchołek grafu; STOS.push(v); umieść v na stosie while STOSÓ= ∅ do v=STOS.peek(); v=szczytowy wierzchołek stosu if N(v)Ó= ∅ then u=pierwszy wierzchołek listy N(v); STOS.push(u); umieść u na stosie N(v)=N(v)\{u}; usuń kraw˛edź {v,u} z grafu G N(u)=N(u)\{v}; else N(v)= ∅ STOS.pop(v); zdejmij v ze stosu CE.push(v);