Skip to content

Files

Latest commit

 

History

History
77 lines (58 loc) · 1.74 KB

README.md

File metadata and controls

77 lines (58 loc) · 1.74 KB

Árvore AVL em TypeScript

Este projeto implementa uma Árvore AVL em TypeScript com uma interface interativa no terminal. A Árvore AVL é uma estrutura de dados auto-balanceada que garante operações eficientes de inserção, busca, remoção e percursos ordenados.

Funcionalidades

  • Inserção: Adiciona um novo elemento à árvore mantendo o balanceamento AVL.
  • Busca: Permite buscar por um valor específico na árvore.
  • Remoção: Remove um elemento da árvore, ajustando automaticamente o balanceamento.
  • Percursos Ordenados:
    • Pré-Ordem: Percorre a árvore visitando o nó antes de seus filhos.
    • Em-Ordem: Percorre a árvore visitando os filhos à esquerda, o nó, e depois os filhos à direita.
    • Pós-Ordem: Percorre a árvore visitando os filhos antes do nó.

Execução

Para executar o projeto, siga os passos abaixo:

  1. Clone o repositório:
git clone https://github.com/pivattogui/avl-tree.git
  1. Acesse o diretório do projeto:
cd avl-tree
  1. Instale as dependências:
npm install
  1. Execute o projeto:
npm start

Comandos

Durante a execução do projeto, você pode utilizar os seguintes comandos:

  • i <valor>: Insere um novo elemento na árvore.
  • b <valor>: Busca por um valor na árvore.
  • r <valor>: Remove um valor da árvore.
  • pre: Percorre a árvore em pré-ordem.
  • em: Percorre a árvore em ordem.
  • pos: Percorre a árvore em pós-ordem.

Exemplo de uso:

$ npm run start

> i 10
> i 20
> i 15
> i 25
> i 30
> i 40
> b 15
[🔎] Nó encontrado: [Valor:15, Nível: 2]
> r 15
[🗑️] Nó removido
> b 15
[❌] Nó não encontrado
> pre
25>20>10>30>40
> pos
10>20>40>30>25
> em
10>20>25>30>40