Skip to content

mateusdanie/AVL-Work-University

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banner

Trabalho de implementação de uma árvore AVL

NPM

Sobre o projeto

Esse projeto visa a implementação de uma árvore AVL, para a disciplina de Estrutura de Dados Avançada. Neste projeto, está presente as funções de adição e remoção de nós, bem como a função de calcular as alturas de um determinado nó, além da função de checar se é uma AVL. Todas as funções citadas estarão no tree.h.

Funções

preOrdem: Imprime os nós da árvore em pré-ordem.

height: Calcula a altura de um nó da árvore.

checkAVL: Checa se a árvore é AVL, com base nos bal, se for maior que 1 ou menor que -1 não é uma AVL.

countNodes: Conta a quantidade de nós em in-ordem.

rotationADD1: Rotação simples e duplas para a esquerda, necéssaria quando a árvore está desbalanceada ao adicionar.

rotationADD2: Rotação simples e duplas para a direita, necéssaria quando a árvore está desbalanceada ao adicionar.

insertAVL: Insere um nó na AVL e faz as rotações nécessarias para mante-la balanceada.

rotationRemove1: Rotação simples e duplas para a esquerda, necéssaria quando a árvore está desbalanceada ao remover.

rotationRemove2: Rotação simples e duplas para a direita, necéssaria quando a árvore está desbalanceada ao adicionar.

balance: Calcula o bal de um nó da árvore.

switchNodes: Troca o pai e os filhos dos nós passados como parâmetro.

removeAVL: Remove um nó da AVL e faz as rotações nécessarias para mante-la balanceada.

freeAVL: Limpa a árvore da memória.

Tecnologias utilizadas

Linguagem C

Autor

Mateus Daniel de Lima da Silva

www.linkedin.com/in/mateus-daniel

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages