Olá pessoal,
Estava estudando a versão iterativa do DIGRAPHpath e surgiram dúvidas (em azul). Algúem pode me ajudar?
Em verde estão os comentários relacionados ao que etendi do algoritmo. Se eu estiver pensando errado nestes comentários, por favor me corrijam.
while(k!= 1 || w!= G->V) ???
{
/* Backtracking ??? */
if(w == G->V) /* Chegou no limite de w */
{
w = v + 1; ???
k--; ???
v = caminho[k-1]; ???
}
/* Atingiu um novo arco (que era AZUL), representado por w. */
else if(G->adj[v][w] == 1 && lbl[w] == AZUL)
{
lbl[w] = VERMELHO; /* marca de vermelho o vértice atingido (w) */
caminho[k++] = w; /* guarda o vértice na próxima posição (k) do vetor caminho */
v = w; /* equivalente à recursão, começa a nova busca */
w = 0;
}
else /* tenta próximo w */
w++;
...