Este projeto consiste na implementação de árvores binárias de pesquisas na linguagem C Ansi, no qual foi avaliada na disciplina de Estrutura de Dados do Curso de Engenharia da Computação pela UFRGS.
Foram implementadas duas árvores: Árvore Binária de Pesquisa (ABP) e Árvore Binária de Busca Balanceada (AVL), onde os códigos podem ser visualizados nos arquivos main_ABP.c e main_AVL.c, respectivamente. A partir disso, o objetivo do projeto visa auxiliar de maneira ficcional uma Nutricionista no controle da dieta de seus clientes. Assim, são armazenados alimentos e suas calorias na árvore, dessa forma anotando o alimento e a quantidade ingerida dele, podemos fazer uma busca binária na árvore e contar quantas calorias foram ingeridas de acordo com os alimentos buscados.
No final, são gerados arquivos texto informando as características da árvore junto com os alimentos buscados.
Executando o código main_ABP.exe com os arquivos 1K.csv e day1.csv, no qual o primeiro é referente a lista de alimentos e o segundo é sobre os alimentos ingeridos, é gerado o seguinte arquivo texto.
Além disso, é informado no prompt de comando informações sobre tempo de execução.
Utilizando main_AVL.exe com os mesmos arquivos anteriores, temos:
- C Ansi
# clonar repositório
git clone https://github.com/Alamito/ABP-AVL-C-Ansi.git
# executar
main_ABP.exe 1K.csv day1.csv <nome de saída>.txt
main_AVL.exe 1K.csv day1.csv <nome de saída>.txt
Os arquivos .csv podem ser trocados por outros, desde que sigam o seguinte padrão:
"nome do alimento";"quantidade de caloria por grama" para o arquivo com os alimentos que serão armazenados na árvore.
"nome do alimento";"quantidade de gramas ingeridas" para o arquivo com os alimentos que foram ingeridos.
Note que a separação do texto com o número acontece através de um token ; (ponto e vírgula).
Exemplo do arquivo 1K.csv, que contém 1000 alimentos.
Alamir Bobroski Filho
Galeano Folle Domingues