Este repositório contém uma implementação de uma Árvore AVL (Adelson-Velsky e Landis Tree) em C. A Árvore AVL é uma árvore de busca binária autoequilibrada que mantém suas alturas de sub-árvores balanceadas a cada inserção ou remoção, garantindo operações de busca, inserção e exclusão em tempo logarítmico. 🚀
- Inserção autoequilibrada 🔄
- Remoção com balanceamento 🔍
- Busca otimizada 🔎
- Contagem de nós e altura da árvore 📊
- Verificação de propriedades AVL ✅
Para executar a implementação da Árvore AVL:
- Clone este repositório em sua máquina local.
git clone [url-do-repositorio](https://github.com/CeciliaBotelho/AvlTreeImplementation.git)
- Certifique-se de que você tem um compilador C instalado (como gcc).
- Compile o código fonte usando o comando
gcc -o avl_tree avl_tree.c
. - Execute o programa compilado com
./avl_tree
.
inserir
: Adiciona um novo nó com chave única à árvore e balanceia a árvore se necessário. ➕delete
: Remove um nó com a chave especificada da árvore e realiza balanceamento se necessário. ➖print_tree
: Imprime a árvore em uma notação de parênteses aninhados. 🖨️primeiro_cen
esegundo_cen
: Executam cenários de teste específicos para demonstrar a funcionalidade da árvore. 🧪
Contribuições são bem-vindas! Se você tem alguma melhoria ou correção, sinta-se à vontade para:
- Fazer um fork do projeto. 🍴
- Criar uma nova branch (
git checkout -b feature/novaFeature
). - Fazer commit de suas mudanças (
git commit -am 'Adicionando uma nova feature'
). - Fazer push para a branch (
git push origin feature/novaFeature
). - Criar um novo Pull Request. 📝
- Nome - Cecilia Botelho
- E-mail - cescbotelho@gmail.com