






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Conceitos básicos de árvores binárias
Tipologia: Notas de estudo
1 / 10
Esta página não é visível na pré-visualização
Não perca as partes importantes!







Professores Albino Szesz Junior e Márcio Augusto de Souza
Uma árvore é uma estrutura que armazena dados de forma hierárquica. Por exemplo, a figura 1 mostra um trecho de um organograma de uma pequena faculdade, onde existe uma hierarquia entre os dados, de maneira que não é possível representar esse tipo de informação através de uma lista linear, por exemplo.
Figura 1: Exemplo de árvore (Fonte: https://organograma.net) Com exceção do elemento no topo da árvore, cada elemento da árvore tem um pai e um ou mais filhos. Uma árvore é normalmente desenhada colocando-se os elementos dentro de círculos ou retângulos e conectando-se pais e filhos com linhas retas. Normalmente, o elemento do topo é chamado raiz da árvore, mas é desenhado acima dos demais, os quais ficam conectados abaixo da raiz.
Figura 2: Exemplo de árvore A figura 2 mostra um exemplo de uma árvore, na qual:
Professores Albino Szesz Junior e Márcio Augusto de Souza Assim como os termos pai e filho, são também usados os termos irmão, avô, neto, nós ancestrais e nós descendentes.
Toda árvore, por sua estrutura, é constituída por árvores menores, chamadas subárvores. A figura 3 mostra que, ligadas ao nó A, existem três subárvores, enraizadas em B, C e E, respectivamente. A subárvore enraizada em B é mostrada em destaque.
Figura 3: Exemplo de subárvore
2 PROPRIEDADES BÁSICAS E TERMINOLOGIA
Definição: Uma árvore T é um conjunto de nós que armazena elementos em relacionamentos pai-filho com as seguintes propriedades:
Em uma árvore T , o grau de um nó corresponde ao número de subárvores (ou de descendentes diretos) relacionadas àquele nó. Um nó de grau zero não possui subárvores. Esse nó é chamado de folha. Na figura 2, o nó A tem grau 3, e os nós D, E, F e G são folhas.
Definição: A sequência de nós v 1 , v 2 , ..., v k , tal que v i é pai de v i +1, para 1≤ i < k , é chamada caminho de v 1 para v k. O comprimento de um caminho é dado por k -1. Por exemplo, na figura 2, existe um caminho que liga A até D com comprimento 2: A, B e D.
Professores Albino Szesz Junior e Márcio Augusto de Souza
2
Em uma árvore binária estritamente binária, todo nó que não é folha tem subárvores esquerda e direita não vazias. A figura 5 mostra um exemplo desse tipo de árvore binária.
Figura 5: Árvore estritamente binária Uma árvore estritamente binária com n nós e altura h tem as seguintes propriedades:
Numa árvore binária completa de profundidade h , todas as folhas estão no nível h. A figura 6 mostra um exemplo desse tipo de árvore binária. Deve-se ressaltar que essa árvore também é estritamente binária.
Figura 6: Árvore binária completa Uma árvore binária completa é uma árvore estritamente binária na qual o número de nós, altura e número de folhas são máximos.
Professores Albino Szesz Junior e Márcio Augusto de Souza
4.2 Percurso Percurso ou caminhamento em uma árvore é uma forma sistemática de acessar ou visitar todos os seus nós. Existem três tipos de percurso, os quais são citados nas próximas subseções. A árvore binária da figura 7 é usada como referência para exemplificar os três percursos.
Figura 7: Exemplo de árvore binária
4.2.1 Pré-fixado O percurso pré-fixado ou em pré-ordem obedece aos seguintes passos:
4.2.2 Inter-fixado O percurso inter-fixado (ou em ordem simétrica) obedece aos seguintes passos:
4.2.3 Pós-fixado O percurso pós-fixado (ou em pós-ordem) obedece aos seguintes passos:
Professores Albino Szesz Junior e Márcio Augusto de Souza
Figura 9: Exemplo de árvore binária representado uma expressão aritmética
5 ESTRUTURAS DE DADOS PARA REPRESENTAR ÁRVORES
5.1 Estrutura baseada em arranjo para árvores binárias Uma estrutura simples para se representar uma árvore binária T é baseada em uma forma de numerar os nós de T. Para cada nó v de T, faça-se p( v ) ser um inteiro definido como segue:
a) Árvore binária
Professores Albino Szesz Junior e Márcio Augusto de Souza
1 2 3 4 5 6 7 8 9 1 0
b) Arranjo contendo a árvore binára Figura 10: Exemplo de árvore binária armazenada em um arranjo Cada um dos nós da árvore é armazenado na posição correspondente do vetor. Esta implementação é simples, mas pode ser ineficiente em termos de consumo de espaço. Perceba que na figura 10, várias posições do arranjo estão vazias (por exemplo, 14 e 15), e esse problema aumenta à medida que a altura da árvore cresce
5.2 Estrutura encadeada para árvores binárias 5.2.1 Árvores binárias Nesta abordagem, a cada nó estão associados: o elemento armazenado e ponteiros para os filhos esquerdo e direito. Da mesma maneira que em listas encadeadas, não há desperdício de memória, pois os nós da árvore são alocados à medida que são necessários. Como exemplo, considere a figura 11, que apresenta uma árvore binária e a sua respectiva representação encadeada.
Figura 11: Árvore binária implementada usando alocação dinâmica
Professores Albino Szesz Junior e Márcio Augusto de Souza
Figura 12: Árvore binária de busca desbalanceada A eficiência de busca da árvore binária mostrada na figura 11 é melhor do que a da figura 12. Por exemplo, imagine que se queira buscar o número 70, no primeiro caso seriam necessários apenas 3 passos (10, 50 e 70), enquanto que no segundo caso seriam necessários 6 passos (5, 10, 20, 30, 50 e 70). Para garantir que todas abbs sejam sempre semelhantes à da figura 11, usam-se técnicas de inserção que mantêm a árvore balanceada. Exemplos desse tipo de árvore são as árvores AVL e rubro-negra.