Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação
Árvores binárias
Árvore binária Uma árvore binária é uma árvore com as seguintes propriedades: Cada nó interno tem, no máximo, dois filhos Os filhos de um nó é um par ordenado Chamamos os filhos de um nó de filho da esquerda e filho da direita
Árvore binária O número de folhas é uma importante característica das árvores binárias para mensurar uma eficiência esperada de algoritmos. Árvore estritamente binária: quando todo nó que não é folha tiver subárvore direita e esquerda não vazios Árvore binária completa: se todos os nós em todos os níveis, exceto o último, tiverem 2 filhos. A A B C B C D E F H D E Árvore binária estritamente binária Árvore binária completa
Árvores binárias uma árvore consistindo de um único nó, ou Podemos, também, definir uma árvore binária recursivamente como: uma árvore consistindo de um único nó, ou Uma árvore cuja raiz tem um par ordenado de filho, cada um dos quais é uma árvore binária Cuidado na hora de representar árvore para podermos saber se é o filho direito ou esquerdo de seu pai A B
Árvore binária Aplicações: Expressões aritméticas Processo de decisão busca A B C D E F H I
Árvore de expressões aritméticas Árvore binária associada com uma expressão aritmética Nós internos: operadores Nós externos: operandos Exemplo: árvore da expressão aritmética para a expressão (2 (a - 1) + (3 b)) + - 2 a 1 3 b
Árvore de decisão Refeição rápida? Que tal um café? Pode ser caro? Árvore binária associada com um processo de decisão Nós internos: questões com respostas sim/não Nós externos: decisões Exemplo: Onde jantar Refeição rápida? Sim Não Que tal um café? Pode ser caro? Sim Não Sim Não Cantina Shopping Abade Tábua de carne
Propriedades de AB (BT) e = i + 1 n = 2e - 1 h i h (n - 1)/2 e 2h h log2 e h log2 (n + 1) - 1 Notação n número de nós e número de nós externos i número de nós internos h altura (height)
Propriedades de AB (BT) Nível Nós 1 2 3 4 8 Número máximo de nós em um nível h é 2h Pode haver, 20 = 1 nós no nível 1, 21 = 2 nós no nível 2, 22 = 4 nós no nível 3 e, na forma geral, 2i nós no nível i+1. Número total de nós é, no máximo é 2h+1 -1