Árvore Binária de Busca

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Programação em Java Prof. Maurício Braga
Inteligência Artificial
Celso C. Ribeiro Caroline T. Rocha
Algoritmos para Geração de Variáveis Aleatórias
Geometria Computacional Galeria de Arte
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
Celso C. Ribeiro Caroline T. Rocha
Kit Alfa Marcello Cláudio de Gouvêa Duarte.
Restrições Não-Estritas / Variáveis Arbitrárias
Propagação de Ondas e Antenas
Para Casa – Montar o cariograma
Fonte, Sumidouro, Capacidade e Fluxo
Associação de resistores
Algoritmos Genéticos Alex F. V. Machado.
Série de Exercícios.
Inteligência Artificial
Instituto de Computação - UFF Detecção de Terminação Algoritmos Distribuídos Professora: Lúcia Drummond.
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Árvore Binária - altura máxima A: Inserção de 1, 2, 3, 4, 5, 6 e 7 Pior caso: O(n)
Árvores.
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Arquivos Seqüenciais Inhaúma Neves Ferraz
DIAGRAMA DE ATIVIDADES
Arquivos Extensíveis.
Classificação e Pesquisa de Dados
Administração para Engenharia
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
Métodos de Pesquisa: Seqüencial e Binária
Suprimento de Energia Microcontrolado
Auditoria de Segurança da Informação
Arquitetura de Computadores
Fraction Action FRACÇÕES.
Montagem do Gradil Bovino.
INF 1771 – Inteligência Artificial
Indexação de Arquivos Página de rosto.
Transmissão AM Objetivo:
PROFESSOR RODRIGO PENNA
SENIB. SENIB SENIB AMANDO UNS AOS OUTROS POR QUE AMAR É IMPORTANTE? AMANDO UNS AOS OUTROS POR QUE AMAR É IMPORTANTE?
Momentos de Inércia Cap. 10
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
MECÂNICA - DINÂMICA Dinâmica de um Ponto Material: Impulso e Quantidade de Movimento Cap. 15.
Fundamentos de Engenharia de SW
Pesquisa em Memória Primária
Árvores binárias de pesquisa com balanceamento
INF 1010 Estruturas de Dados Avançadas
Conversão de um NFA para um DFA com um exemplo
Multiplexadores e Demultiplexadores
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Salas de Matemática.
ASSOCIAÇÃO DE RESISTORES.
Celso C. Ribeiro Caroline T. Rocha
Algorítmos e estrutura de dados III
Aula 17 1 Análise Sintáctica Compiladores, Aula Nº 17 João M. P. Cardoso.
Busca com informação e exploração
Conceitos de Lógica Digital
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Introdução e Busca Cega
Rotação Simples e Dupla Katia Guimarães
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Campus de Caraguatatuba Aula 12: Sistemas de Equações Lineares (2)
Rio Verde - Goiás - Brasil
Cálculo da Direção de Caminhada: Gradiente de f(x)
Associação de resistores
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
José Augusto Amgarten Quitzau
Diagrama Polar 请看下页.
Transcrição da apresentação:

Árvore Binária de Busca seja uma árvore binária de busca T, para um conjunto de chaves S= { S1, S2, ....Sn} qual o número total de comparações efetuadas para se localizar uma chave em S? para buscar uma chave Sk, o algoritmo percorre o caminho da raiz até Sk número de comparações  nível de Sk seja nivel (Sk) = Lk e seja nivel(raiz) = 1 1 1 114

Árvore Binária de Busca o número total de comparações necessárias para o acesso a todas as chaves de S é : 1kn Lk definição: comprimento de caminho interno de T I(T) = 1kn Lk 2 2 115

Árvore Binária de Busca o total de comparações em buscas realizadas com sucesso: O comprimento de caminho interno buscas sem sucesso comparações também são realizadas termina obrigatoriamente em uma subárvore vazia 3 3 116

1kn (L’k - 1)‏ Árvore Binária de Busca As buscas sempre irão até um nó interno que fica em um nível imediatamente superior a um nó externo Seja L’k o nível do nó externo As buscas cessam no nível L’k - 1 E(T) - Comprimento de Caminho Externo 1kn (L’k - 1)‏ 4 4 117

Árvore Binária de Busca I(T) e E(T) mostram a qualidade da árvore no problema de busca Os valores I(T)/n e E(T)/(n+1) representam os números médios de comparações efetuadas em operações de busca com e sem sucesso, respectivamente. 5 5 118

Árvore Binária de Busca I(T) = 19 em média I(T)/n = 2.71 E(T) = 26 em média E(T)/(n+1) = 3.25 6 6 119

Árvore Binária de Busca Relação entre os comprimentos de caminho interno e externo E(T) = I(T) + n Se n = 1 , I(T) = 1 e E(T) = 1 + 1 = 2 Suponha verdadeiro para ávores com n-1 nós Seja T com n nós internos ( n+1 nós externos )‏ T’ é obtida de T retirando-se um nó v folha  substitui-se v e dois nós externos em T por um nó externo T’ tem n-1 nós internos e n nós externos 7 7 120

Árvore Binária de Busca E(T’) = I(T’) + n-1 mas I(T’) = I(T) - Lv E(T’) = E(T) - Lv - Lv + Lv -1 então E(T) = I(T) + n 8 8 121

ABB com frequências diferenciadas Seja S um conjunto de chaves S = {s1, s2, ..., sn } Associado a sk nível lk frequência de acesso fk Mas na busca: intervalos R = {R0,R1, R2, ..., Rn } 9 9 121

ABB com frequências diferenciadas 10 10 121

ABB com frequências diferenciadas Associado a Rk nível l´k frequência de acesso f´k 11 11 121

ABB com frequências diferenciadas Busca com sucesso a sk: lk comparações total de comparações de todo o processo considerando a frequência de acesso da chave? e considerando as buscas com sucesso de todas as chaves? 12 12 121

ABB com frequências diferenciadas Busca sem sucesso – atinge um dado Rk: l´k - 1 comparações. Por que? total de comparações de todo o processo considerando a frequência de acesso da chave? e considerando as buscas com sucesso de todas as chaves? 13 13 121

C(T) =  fk lk +  f´k (l´k -1)‏ ABB com frequências diferenciadas Custo da ABB T(n) com frequências de acesso: comprimento do caminho interno ponderado + comprimento do caminho externo ponderado C(T) =  fk lk +  f´k (l´k -1)‏ 14 14 121

ABB ponderada ótima A ABB ótima – aquela com o custo mínimo para achá-la: programação dinâmica sk < sk T´ T” > sk R0 ... Rk-1 Rk ... Rn 15 15 121

ABB ponderada ótima Lema: As subárvores de uma árvore binária ótima também são ótimas prova? Se T é ótima, T´e T” também são, conhecendo a raiz sk como conhecer sk ? como determinar T´e T” ? 16 16 121

ABB ponderada ótima tentar todo sk e para cada um, tentar T´e T” ? fazer recursivamente para cada subárvore até chegar ao caso trivial caso base: subárvore vazia – conjunto de chaves vazia 17 17 121

ABB ponderada ótima Seja T(i,j) a árvore ótima com: chaves { si+1, ..., sj} intervalos { Ri, ..., Rj} Seja F(i,k) =  fk +  f´k 18 18 121

c(T(i,j)) = c(T(i,k-1)) + (T(k,j)) + F(i,j)‏ ABB ponderada ótima Lema: Seja T(i,j) a ABB ótima de raíz sk correspondentes as chaves { si+1, ..., sj}. Então: c(T(i,j)) = c(T(i,k-1)) + (T(k,j)) + F(i,j)‏ Prova utilizar a função de custo ótima e separar as frequencias, considerando a raiz sk 19 19 121

Construção da ABB ponderada ótima Calcular c(T(0,n)) recursivamente base da recursão: c(T(i,i)) = 0 árvore vazia mas..... repetição de cálculos muitas subárvores a serem testadas exponencial? 20 20 121

Construção da ABB ponderada ótima Solução: utilização de tabelas, para calcular o custo de cada subárvore somente uma vez cálculo de forma não recursiva das árvores menores para maiores para cada subárvore T(i,j), testa-se todas as suas chaves { si+1, ..., sj} para ser candidata a raiz escolha: a de menor custo 21 21 121

Construção da ABB ponderada ótima ABB_ótima () { for j = 0, ..., n {c[j,j] = 0; F[j,j] = f´j;} for d = 1, ..., n for i = 0, ..., n – d { j = i+d; F[i,j] = F[i,j-1] + fj + f´j; c[i,j] = min { c [i,k-1] + c [k, j]} + F[i,j]; i<k  j } 22 22 121

Construção da ABB ponderada ótima Entrada j 1 2 3 4 fj - 10 f´j 23 23 121

Construção da ABB ponderada ótima c[i,j] 1 2 3 4 24 24 121

Construção da ABB ponderada ótima F[i,j] 1 2 3 4 25 25 121