180 likes | 325 Views
A. B. C. D. E. F. G. H. I. J. K. A. B. C. E. D. F. G. H. I. J. K. Árvore através de uma Árvore Binária. ÁRVORE BINÁRIA DE BUSCA. Operação para pesquisar um elemento numa estrutura consiste em determinar se esse elemento pertence ou não pertence à estrutura.
E N D
A B C D E F G H I J K A B C E D F G H I J K Árvore através de uma Árvore Binária CAP-223
ÁRVORE BINÁRIA DE BUSCA Operação para pesquisar um elemento numa estrutura consiste em determinar se esse elemento pertence ou não pertence à estrutura No caso de uma estrutura de uma árvore binária, é só percorrer a árvore até achar o elemento caso este elemento exista É possível organizar os elementos em uma árvore binária para que a busca seja facilitada CAP-223
ÁRVORE BINÁRIA DE BUSCA Se pudesse colocar os elementos em uma ordem, por exemplo, CHAVE (x) < CHAVE (t) < CHAVE (y) onde CHAVE é a identificação do nó t é um nó qualquer x é um nó da sub-árvore à esquerda de t y é um nó da sub-árvore à direita à t então essa árvore chamaria de ÁRVORE BINÁRIA DE BUSCA CAP-223
Marta Villas Christine Patrick Claudio Andréa Marcelo André ÁRVORE BINÁRIA DE BUSCA In-Order: André - Andréa - Christine - Claudio - Marcelo - Marta - Patrick - Villas CAP-223
ÁRVORE BINÁRIA DE BUSCA • Inclusão de um nó numa Árvore Binária de Busca • Relação de ordem entre os elementos • elemento enovo < elemento existente • elemento enovo > elemento existente CAP-223
ÁRVORE BINÁRIA DE BUSCA • Processo de inserção leva em consideração • árvore vazia • elemento inserido na raíz • se o elemento menor que raíz • sub-árvore à esquerda • se o elemento maior que raíz • sub-árvore à direita CAP-223
ÁRVORE BINÁRIA DE BUSCA inserção ( T, elemento ) { se T NULO { se elemento < info ( T ) { inserção ( LLINK ( T ), elemento ) } inserção ( RLINK ( T ), elemento ) } info ( T ) elemento LLINK ( T ) NULO RLINK ( T ) NULO } CAP-223
Marta Villas Christine Patrick Claudio Andréa Marcelo André ÁRVORE BINÁRIA DE BUSCA Como ficaria a Árvore abaixo se a inserção começasse com o nó CHRISTINE? CAP-223
ÁRVORE BINÁRIA DE BUSCA • Remoção de um nó de uma Árvore Binária • difícil • necessidade de re-estruturação para que • os outros nós permaneçam ordenados CAP-223
ÁRVORE BINÁRIA DE BUSCA • Alternativa para não re-estruturar • fazer uma MARCA • necessidade de embutir • uma informação a mais • árvore muito dinâmica tamanho da árvore CAP-223
ÁRVORE BINÁRIA DE BUSCA Considerações para Remoção física de um nó • nó possui duas sub-árvores vazias • nó possui uma sub-árvore vazia • nó possui as duas sub-árvores CAP-223
5 5 3 7 3 7 9 4 6 9 1 4 6 1 2 2 8 ÁRVORE BINÁRIA DE BUSCA Nó possui duas sub-árvores vazias • Remove o nó CAP-223
5 5 3 7 3 7 9 9 4 6 4 6 1 2 2 ÁRVORE BINÁRIA DE BUSCA Nó possui uma sub-árvore vazia • a raiz do nó a ser removido ocupa • a posição do nó removido CAP-223
5 5 3 8 9 4 6 1 3 7 9 4 6 1 2 2 8 ÁRVORE BINÁRIA DE BUSCA Nó possui as duas sub-árvores • Achar o sucessor • Re-Insere o sucessor no lugar do nó removido CAP-223
ÁRVORE BINÁRIA DE BUSCA • Muitas consultas • Preocupação com Eficiência na localização Número médio de comparações feitas para localização CAP-223
ÁRVORE BINÁRIA DE BUSCA • Dois fatores a serem considerados • freqüência de acesso a cada nó • organização da árvore CAP-223
ÁRVORE BINÁRIA DE BUSCA • Freqüência de acesso • quantidade de vezes um nó é procurado • Organização da árvore • quantidade média de comparações CAP-223
ÁRVORE BINÁRIA DE BUSCA Altura da árvore Cada insucesso obriga a descer um nível a mais CAP-223