Os testes para as listas de exercícios
serão feitos via arquivos.
Seguem abaixo as especificações
deles.
==========
Questão 01
==========
Arquivo fonte: quest1.c
Arquivo de entrada: quest1.in
Arquivo de saída: quest1.out
Cada linha do arquivo de entrada irá
conter uma instrução. As possíveis instruções
são as seguintes:
-
I n à Inserir o número "n"
na árvore AVL.
-
P n à Imprimir os filhos do nó
"n" da árvore AVL.
-
N à Indica que um novo conjunto será
processado.
-
E à Indica fim do arquivo.
Entrada exemplo:
I 100
I 150
I 50
P 100
N
I 1
I 2
P 2
I 3
P 2
I 4
P 3
E
Saída exemplo correspondente
à entrada acima:
Conjunto #1
100 50 150
Conjunto #2
2 N N
2 1 3
3 N 4
Obs.:
-
O formato do arquivo de saída significa:
O primeiro número é o valor do nó procurado; O segundo
número representa o seu filho da esquerda, e o terceiro número
representa seu filho da direita.
-
O N do arquivo de saída significa
que o nó procurado não possui este filho. Ex. ->
3 N 4 -> O nó 3 não
possui filho à esquerda e possui o 4 como seu filho à direita.
-
A instrução "P n" indica
que devem ser impressos os filhos do nó "n", caso ele os possua;
-
A instrução "N" indica que
será inserido um novo conjunto de dados em OUTRA árvore;
-
Não se esqueçam de desalocar
todos os nós da árvore entre cada processamento;
-
Não serão inseridos valores
iguais;
-
Não será pedido para imprimir
um nó não existente;
-
O formato dos arquivos de saída
deverá seguir EXATAMENTE o padrão estabelecido nos
exemplos acima.
==========
Questão 02
==========
Arquivo fonte: quest2.c
Arquivo de entrada: quest2.in
Arquivo de saída: quest2.out
Cada linha do arquivo de entrada irá
conter uma instrução. As possíveis instruções
são as seguintes:
-
I n à Inserir o número "n"
na árvore binária.
-
P à Imprimir o maior caminho existente
na árvore binária.
-
N à Indica que um novo conjunto será
processado.
-
E à Indica fim do arquivo.
Entrada exemplo:
I 100
I 150
I 50
P
N
I 1
I 9
P
I 10
I 6
I 0
I 7
I 8
P
E
Saída exemplo correspondente
à entrada acima:
Conjunto #1
2
50 100 150
Conjunto #2
1
1 9
5
0 1 9 6 7 8
Obs.:
-
A primeira linha de cada conjunto representa
o comprimento do maior caminho. A próxima linha contém o
caminho correspondente impresso da esquerda para a direita.
-
Esta árvore binária não
é AVL, é uma árvore de busca(BST), logo,
não devem ser realizadas rotações;
-
A instrução "N" indica que
será processado um novo conjunto de dados;
-
Não se esqueçam de desalocar
todos os nós da árvore entre cada processamento;
-
Não serão inseridos valores
iguais;
-
O formato dos arquivos de saída
deverá seguir EXATAMENTE o padrão estabelecido nos
exemplos acima.