🌳

Aula sobre Estruturas de Dados: Árvores Binárias

Mar 4, 2025

Aula sobre Estruturas de Dados: Árvores Binárias

Definição de Árvores Binárias

  • Conjunto finito de elementos, que podem ser vazios.
  • Raiz com subárvore esquerda e direita, que também são binárias.
  • Implementação em Python usando classes e construtores.

Representação e Características

  • Representação em grafos.
  • Conceito de árvore estritamente binária (grau 0 ou 2).
  • Árvore binária completa: estritamente binária, folhas no último ou penúltimo nível.
  • Árvore binária cheia: todas as folhas no mesmo nível.

Percurso de Árvores Binárias

  • Diferença de percurso em lista (linear) e árvore (hierárquica).
  • Três percursos básicos: pré-ordem, em ordem e pós-ordem.
    • Pré-ordem: Visita raiz, percorre esquerda, depois direita.
    • Em ordem: Percorre esquerda, visita raiz, percorre direita.
    • Pós-ordem: Percorre esquerda, direita, depois visita raiz.

Árvores Binárias de Busca (BST)

  • Propriedade: nós na subárvore esquerda são menores, na direita são maiores.
  • Importante para operações eficientes de busca.
    • Exemplo: sistemas de votação por telefone.

Operações em Árvores Binárias de Busca

  • Busca: Comparação com a raiz, percorre à esquerda ou direita recursivamente.
  • Inserção: Adiciona nó respeitando a propriedade BST.
  • Remoção: Três casos possíveis: nó sem filho, com um filho, ou com dois filhos.
    • Remoção de nó sem filho é simples.
    • Remoção com um filho: substitui o pai pelo filho.
    • Remoção com dois filhos: substitui pelo antecessor ou sucessor.

Exercício

  • Realizar inserções e remoções em uma árvore binária e verificar as propriedades.

Conclusão

  • Importância das árvores binárias em estrutura de dados para operações eficientes de busca, inserção e remoção.

Estes são os pontos principais discutidos na aula sobre árvores binárias e suas propriedades. Recomenda-se revisar o material de implementação em Python e os exemplos de percurso para um entendimento mais profundo.