Procedimento para encontrar decomposição
de G em ciclos disjuntos.
Dados:
G = grafo com todos os vértices de grau par;
Declaração de variaveis:
S = lista de ciclos de G;
H = grafo parcial de G;
a = aresta de G;
c = cadeia elementar de G;
Inicialização:
S={ };
H=G;
WHILE ( H tiver arestas ) {
a= escolha aleatória de uma aresta em H;
c={a};
H= grafo parcial de G obtido por remoção das arestas
em S, e em c ;
WHILE ( c não fôr um ciclo ) {
//** as extremidades de c têm grau ímpar em H. **
a= escolha de uma aresta de H com extremidade comum a c;
c=c + {a} ;
H = grafo parcial de G obitdo de H removendo
a aresta a; }
S=S+{c} ; }
RETURN S;
Verifique na animação seguinte a aplicação do algorítmo acima,
que dá origem a uma decomposição em três ciclos: vermelho, verde e branco.
Em cada instante são mostrados os graus de todos os vértices em H,
que é o grafo parcial de G formado pelas arestas amarelas.
Para correr a animação coloque o rato sobre a figura.
A animação pára sempre que afaste o rato da figura.