Skip to content

Latest commit

 

History

History
46 lines (24 loc) · 1.8 KB

README.md

File metadata and controls

46 lines (24 loc) · 1.8 KB

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