IF672 - Algoritmos e Estruturas de Dados
novembro 2002 a março 2003

1 - Largura vs. Profundidade Trivial

 
 
Percorrer um grafo em largura e em profundidade.



Entrada e Saída de dados

A entrada consiste em vários conjuntos de dados.
Cada conjunto começa com um valor (N < 30) indicando a quantidade de nós no grafo direcionado.
Segue N linhas cada uma com a lista de adjacência correspondente ao nó i (i-ézima linha).

O final da linha de adjacência termina com 0.
Fim de arquivo indica o final da entrada.
A saída consiste da impressão da ordem de visitas dos nós na busca
em profundidade e na busca em largura (primeiro largura, depois profundidade).

NOTA: Priorize sempre os primeiros vértices de cada lista de adjacência.
              Comece a busca a partir do vértice 1.
              É possível que não se possa atingir todos os vértices do grafo
             (dizemos que grafos com essa propriedade são não-conectados ).


Entrada exemplo

5
2 4 3 0
1 0
4 5 0
1 3 0
1 2 3 4 0

3
2 3 0
1 3 0
1 2 0

6
2 3 0
1 4 0
1 2 4 0
1 2 3 0
6 0
5 0

Saída correspondente 

1 2 4 3 5
1 2 4 3 5

1 2 3
1 2 3

1 2 3 4
1 2 4 3