BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique.

Slides:



Advertisements
Apresentações semelhantes
Marco Antonio Montebello Júnior
Advertisements

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Estruturas de Dados Arvores
Estrutura de Dados e Algoritmos e Programação e Computadores II
Organização e Recuperação da Informação
MC 202 – Estruturas de dados
Árvore Binária - altura máxima A: Inserção de 1, 2, 3, 4, 5, 6 e 7 Pior caso: O(n)
Árvores.

David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Pesquisa em Memória Primária
David Menotti Estruturas de Dados I DECOM – UFOP
Pesquisa em Memória Primária – Árvores de Busca
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Pesquisa em Memória Primária – Árvores de Busca
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
Árvores AVL.
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Implementação de um mapa através de uma Árvore Binária de Busca
Capítulo 3 - Russell e Norvig
Algoritmo e Estrutura de Dados II
Robson Godoi / Sandra Siebra
Indexação de Arquivos Página de rosto.
Prof. Ernesto Lindstaedt
Árvore Geradora Mínima
Fundamentos sobre Árvores
Algoritmos e Estruturas de Dados II
Pesquisa em Memória Primária
Árvores binárias de pesquisa com balanceamento
Árvore de Pesquisa Memória Secundária Engenharia de Computação - UFG.
Algorítmos e estrutura de dados III
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Algoritmos e Estrutura de Dados III
Árvores Balanceadas Liliane Rose Benning Salgado.
Rotação Simples e Dupla Katia Guimarães
Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um dado pode ser qualquer.
Á R V O R E S.
Árvore Binária de Busca
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Transparências da profa. Renata Galante da II/UFRGS com permissão
Árvores Prof. Dr. rer. nat. Daniel Duarte Abdala DAS 5102 – Fundamentos da Estrutura da Informação 1.
Conceito de Árvores – Árvores Binárias

Árvores Binárias Profa. Patrícia A. Jaques Luiz Gonzaga Jr
Estruturas de Dados Aula 15: Árvores
Aula 06 – 05/04 Árvores binárias.
– Aula 20 Adaptado por Reinaldo Fortes para o curso de
Árvores Vermelho-Preto
Prof. Hilton Cardoso Marins Junior ÁRVORES BINÁRIAS.
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Prof. Hilton Cardoso Marins Junior

Árvores Rubro-Negras São árvores balanceadas segundo um critério ligeiramente diferente do usado em árvores AVL A todos os nós é associada uma cor que.
Árvores AVL Algoritmos e Estruturas de Dados - IF672

Estruturas Avançadas de Dados UNISINOS
AVL Árvores Equilibradas Sumário AVL Splay B Vermelho-Preto AA e BB Multidimensionais quaternárias k-d [Pesquisa Lexicográfica tries multivia tries binárias.
Introdução a Árvores e Árvores Binárias
Árvores de Busca Binária
1 de outubro de Árvores de Busca e Árvores AVL Parte 1 Katia Guimarães.
Prof. Daniel Morais dos Reis
Árvores Balanceadas (AVL)
Árvores (introdução) Anjolina Grisi de Oliveira Obs: vários slides foram cedidos por Adolfo Almeida Duran (UFBA)
Árvores e Árvores Binárias
Árvores Binárias e Árvores AVL Katia Guimarães. Árvores Binárias e Árvores AVL Katia S. Guimarães
Árvores Estrutura de dados que se caracteriza por uma relação de
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades -Algoritmos de inserção, pesquisa e deleção.
UNIVERSIDADE FEDERAL DE MINAS GERAIS Árvores Cristiano Arbex Valle Vinicius Fernandes dos Santos
Transcrição da apresentação:

BANCO DE DADOS II Árvore de Dados

FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique Marcos Roberto Paula Giorgino Rodrigo Ferreira

DEFINIÇÃO Uma árvore é um conjunto finito de elementos denominados nós ou vértices. Um único nó é uma árvore. Este nó é a raiz da árvore.

-Diversas aplicações necessitam de estruturas mais complexas que as listas, pilhas ou filas. -Diversos problemas podem ser modelados através de arvores MOTIVAÇÃO

POR QUE USAR ÁRVORES? Um dos motivos é a rapidez no acesso aos dados, considere esse exemplo, onde é feita a busca pelo valor 0 (zero) usando uma estrutura de árvore e uma tabela. Com a árvore foi necessário apenas um passo, já usando a tabela, o valor foi encontrado na 5º posição

-Organiza um conjunto de dados de acordo com uma estrutura hierárquica; -Contém elementos que são chamados de nós; -O “pai de todos” é a raiz, e o 1º da hierárquia; -O conteúdo de um nó pode ser de qualquer tipo que se deseje representar; CONCEITOS BÁSICOS

-Nó que não tem antecedente: Raiz -Nó que não tem descendentes: Folhas -A altura da árvore é a altura de sua raiz -A profundidade de um nó é o comprimento da raiz até o nó. OUTROS CONCEITOS

Existem 3 formas de representação: - Parênteses alinhados ( A (B) (C (D (G) (H)) (E) (F(I)) ) ) - Diagrama de inclusão REPRESENTAÇÃO

- Representação hierárquica

- Subárvore Cada nó da árvore é a raiz de uma subárvore - Grau O número máximo de subárvores em cada nó da árvore - Folha Um nó de grau igual a zero é denominado folha ou nó terminal TERMINOLOGIA

- Nível É o comprimento do caminho que vai da raiz até este nó. - Floresta Conjunto de zero ou mais árvores disjuntas (que não tenham nenhum elemento em comum).

TIPOS DE ÁRVORE

É aquela na qual os filhos de cada nó não estão ordenados. Assume-se a ordenação da esquerda para a direita. ÁRVORE ORDENADA

ÁRVORE BINÁRIA Uma árvore binária T é um conjunto finito de elementos chamados nós ou vértices, tal que T=0 é o conjunto vazio, e a árvore é dita vazia, ou existe um nó especial, r, chamado raiz de T; e os nós restantes são divididos em dois subconjuntos disjuntos, as subárvores esquerda e direita de r, respectivamente, as quais também são árvores binárias. A raiz da subárvore esquerda (direita) de um nó v, se existir, é denominada filho esquerdo (direito) de v.

● Árvore onde todo nó pode ter no máximo 2 filhos ● Os filhos são chamados de filho à esquerda e filho Direita ● Estrutura útil quando uma de duas decisões devem ser tomadas no decorrer do processo.

Exemplo: Encontrar números duplicados em uma lista dada Armazenam-se os números na árvore de forma a: 1º número é armazenado na raiz de uma árvore binária cada um dos próximos números na lista é comparado com a raiz: caso seja igual é uma duplicata caso seja menor, é armazenado na subárvore da direita Seguindo-se recursivamente o mesmo procedimento caso seja maior, é armazenado na subárvore da esquerda seguindo-se recursivamente o mesmo procedimento

Exemplo: Armazenar a seguinte lista em uma árvore binária: 14, 18, 4, 9, 7, 15, 3, 4, 20, 9, 5

A busca nada mais é do que um percurso em uma árvore O percurso em uma árvore visitando cada nó uma única vez gera uma seqüência linear de nós Assim, passa a ter sentido falar em sucessor e predecessor de um nó segundo um determinado percurso Há três maneiras recursivas de se percorrer árvores binárias: Percurso em pré-ordem Percurso em pós-ordem Percurso em ordem Percursos em Árvores Binárias

Percurso em Pré-Ordem (red) Algoritmo básico: – Se árvore vazia  fim – visitar o nó raiz – percorrer em pré-ordem a sub-árvore esquerda – percorrer em pré-ordem a sub-árvore direita ABDCEGFHI

Percurso em Em Ordem (erd) Algoritmo básico: – Se árvore vazia  fim – percorrer em ordem a sub-árvore esquerda – visitar o nó raiz – percorrer em ordem a sub-árvore direita DBAEGCHFI

Percurso em Pós-Ordem (edr) Algoritmo básico: – Se árvore vazia  fim – percorrer em ordem a sub-árvore esquerda – percorrer em ordem a sub-árvore direita – visitar o nó raiz DBGEHIFCA

ÁRVORE CHEIA Árvore Binária Cheia: Uma árvore binária cheia é aquela em que, se v é um nó com alguma das suas sub-árvores vazias, então v se localiza no último nível. É uma árvore que tem todos os nós internos com 2 filhos e onde todas as folhas estão na mesma profundidade. Observação: - Toda árvore binária cheia é completa e estritamente binária. - Cheia - Completa - Estritamente Binária

ÁRVORE AVL Em 1962 os matemáticos A delson V elsky e L andis sugeriram uma definição para “near balance” e descreveram procedimentos para inserção e eliminação de nós nessas árvores: os algorítimos de balanceamento são chamados algorítimos AVL e as árvores de árvores AVL (devido ao nome de seus criadores). Uma árvore AVL é uma árvore binária de busca (ABB) construída de tal modo que a altura de sua subárvore direita difere da altura da subárvore esquerda de no máximo 1.

Diferentemente das árvores binárias de pesquisa, nas árvores AVL cada nó está equilibrado em altura, significando que a diferença de alturas entre as subárvores esquerda e direita podem ser -1, 0 ou 1.

Uma árvore não AVL Mesma árvore após balanceamento por altura, agora uma árvore AVL As operações de inserção, remoção e pesquisa nas árvores AVL são feitas através de rotação de forma a garantir o balanceamento e que o fator de balanceamento seja igual a 1.

Balanceamento : O fator de balanceamento é dado em relação a sua subárvore Inserção : deve acontecer após verificação do fator de balanceamento Remoção : deve acontecer por uma rotação em torno do nó a ser removido, a fim de torna-lo folha para que possa ser removido. Rotação : ocorre devido ao desbalanceamento e pode ser: → rotação- simples : ocorre quando um nó esta desbalanceado e seu filho esta no mesmo sentido de inclinação; → rotação – dupla (duas rotações simples seguidas): ocorre quando um nó estiver desbalanceado e seu filho estiver inclinado no sentido inverso do pai.

ÁRVORE RUBRO - NEGRA

São árvores Binarias de Busca com bit adicional para representar a cor ( PRETA ou VERMELHA ). São conhecidas tambem como Árvores Binárias Sismétricas. Possui Cinco Propriedades Básicas: Todo nó é colorido PRETO ou VERMELHO ; A raiz é PRETA ; As folhas (NIL) são PRETAS. Se um nó é VERMELHO, seus filhos são PRETOS. Para cada nó, todos os caminhos até as folhas descendentes contém o mesmo número de nós. Lema: Uma Árvore Rubro-Negra com n nós internos tem altura no máximo 2lg(n+1). Possui todas as operacões que uma árvore binária balanceada comum possui.

Inserir: três casos a considerar: O tio é VERMELHO : inverte cores do avô, pai e tio; O tio é PRETO e filho da direita: faz rotação para a esquerda; O tio é PRETO e filho da esquerda: inverte cores do avô e do pai e faz rotação para a direita.

Remover: quatro casos a considerar: w é VERMELHO : inverte cores do pai e de w; w é PRETO e ambos os filhos de w são pretos: “remove” um PRETO de x, faz w VERMELHO e “adiciona” PRETO ao pai. Faz pai novo x; w é PRETO, o filho da esquerda é VERMELHO e o da direita PRETO : inverte cores de w e do seu filho da esquerda e faz uma rotação para a direita; w é PRETO e o filho da direita é VERMELHO : atribui a cor do pai a w, faz pai PRETO, faz filho da direta de w PRETO e faz uma rotação para a esquerda. Complexidade das operações: O(lgn).

ÁRVORE B (Bayer&MCCreight 1972) É muito utilizada em banco de dados ou sistemas de arquivos, foi criada por Rudolf Bayer. O B vem de balanceamento onde todas as folhas da árvores estão em um mesmo nível.

CARACTERISTICAS Concebidas para implantação de mecanismos de indexação por chave primária em memória secundária. Implementações comuns utilizam arquivo de índices com ponteiros para arquivo de registro de dados Uso em Banco de Dados e em Sistemas de Arquivos

ESTRUTURA Nivel definido pela quantidade de filhos em cada nó Cada nó (exceto a raiz e as folhas) tem pelo menos “m/2” filhos em ordem crescente A raiz tem pelo menos dois filhos se a mesma não for uma folha Todas as folhas aparecem no mesmo nivel e não carregam informação Um nó não – folha com “K” filhos deve ter K-1 chaves

Exemplo:

VANTAGENS (+) nº  de nós do que uma árvore binária   tempo de acesso e pesquisa aos nós. (+)  altura   acesso ao disco. (+) poucos ponteiros entre os nós  economia de espaço. (+) Maior rapidez em buscas pela utilização de chaves primárias. (+) Permite um tempo de acesso de dados menor, em uma busca aleatória, por causa de suas ramificações.

DESVANTAGENS (-) Nó não folha com n chaves, é visitado n vezes, portanto o processo de busca às vezes pode se tornar lento. (-) Não oferece solução econômica para indexação por chave secundária ou com alta redundância de valor de chave. (-) Não oferece solução barata para problema de percurso por seqüencia de chave.

ÁRVORE B + Proporcionam acesso indexado, como também seqüencial Maximização da quantidade de registros que cada nó pode suportar Não armazena os dados de cada registro dentro de seus nós São ótimas para implementar índices para conjunto de registros O ponteiro para o registro de dados de uma chave, somente se encontra no nó folha em que a chave se encontra

Estrutura árvore B+

VÍDEO Árvores AVL, B, B+ e RB

REFERÊNCIAS final.pdf %81rvores_AVL