Novo exemplo

Novo exemplo

por Marco Dimas Gubitoso -
Número de respostas: 0

Coloquei na seção de materiais um programa completo com o uso de demonstração de árvores binárias. É uma implementação do jogo "Animals" que comentei em sala, baseado no código de varredura que passei como exemplo.

O programa está dividido em módulos:

  • queue - implementa uma fila
  • stack - pilha
  • tree - árvore
  • teste - programa principal

Aém dos arquivos correspondentes (.c e .h), há o Makefile e um arquivo de entrada como exemplo (input).


O programa não está completamente testado e não foi colocado um tratamento de erros completo, em particular não sei o que acontece se o arquivo de entrada não for consistente (verifique e arrume).

Para usar, simplesmente rode:
teste entrada saída

entrada
é opcional e corresponde a um arquivo texto que descreve a árvore a ser usada. Se não for indicado, será usada uma árvore padrão com um único nó ("gato").

saída também é opcional e se existir indica o nome de um arquivo onde a árvore final será gravada.

 

O formato do arquivo de descrição da árvore é texto, onde cada linha corresponde a um nó. O primeiro caractere da linha indica se é um nó interno ou folha. Nós internos são indicados por um ' ?' , folhas por qualquer outro caractere, minha sugestão é usar um ' .' para tornar a leitura mais fácil. Todos os nós internos da árvore devem ter dois filhos, obrigatóriamente, na ordem "sim", "não" das respostas. A árvore é colocada em pré ordem.

Alterem o programa, façam experiências, completem. Escrevam arquivos de entrada diferentes, possível, com algum conhecimento, fazer sistemas automáticos de diagnósticos com árvores adeqüadas (médico, carro, programas, projetos, etc).

Em suma, divirtam-se! sorriso