Prof. Ernesto Lindstaedt

Slides:



Advertisements
Apresentações semelhantes
Antonio Dirceu Rabelo de Vasconcelos Filho
Advertisements

Árvores Passeios.
Marco Antonio Montebello Júnior
Exercícios PAA- Grafos
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Estruturas de Dados Árvores Binárias
Conceitos e algoritmos
Estruturas de Dados Arvores
ADT – Arvore Binária de Pesquisa
Estrutura de Dados e Algoritmos e Programação e Computadores II
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
Série de Exercícios.
Á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
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
André Lopes Pereira Luiz Carlos Barboza Júnior
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
Implementação de um mapa através de uma Árvore Binária de Busca
Árvores e Árvores Binárias
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Robson Godoi / Sandra Siebra
Fundamentos sobre Árvores
Algorítmos e estrutura de dados III
Árvore Binária de Busca
Buscas em Grafos Prof. André Renato 1º Semestre/2012
Árvores binárias de pesquisa com balanceamento
Árvores Binárias de Pesquisa
Algorítmos e estrutura de dados III
Algorítmos e estrutura de dados III
1. Se este nó é raiz de uma árvore QuasiEquilibrada de ordem k, e
Á R V O R E S.
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Átila Valgueiro Malta Moreira Juliana Medeiros de Lucena Rafael Alberto.
Árvore Binária de Busca
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
SISTEMAS DE INFORMAÇÃO
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.

Árvores Binárias Profa. Patrícia A. Jaques Luiz Gonzaga Jr
Estruturas de Dados Aula 15: Árvores
Aula 06 – 05/04 Árvores binárias.
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.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Prof. Hilton Cardoso Marins Junior
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Katia S. Guimarães Busca em Grafos Katia S. Guimarães

Universidade do Vale do Rio dos Sinos - São Leopoldo -
Faculdade Pernambucana - FAPE Setembro/2007
Introdução a Árvores e Árvores Binárias
Prof. Daniel Morais dos Reis
Árvores (introdução) Anjolina Grisi de Oliveira Obs: vários slides foram cedidos por Adolfo Almeida Duran (UFBA)
Árvores e Árvores Binárias
© Copyright 2003 Algoritmos e Estruturas de Dados - Todos os direitos reservados Busca em Grafos IF672 - Algoritmos e Estruturas de Dados CIn - UFPE ©
Árvores Estrutura de dados que se caracteriza por uma relação de
Adriana Libório Fernandes Lins Arthur Cavalcanti Alem Átila Valgueiro Malta Moreira Flavio Juvenal da Silva Júnior Gustavo Cauê Silva Botelho Matheus Bispo.
BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique.
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
1 Heap Sort Algoritmos e Estuturas de Dados Cátia Vaz.
Árvores.
Transcrição da apresentação:

Prof. Ernesto Lindstaedt Árvores Binárias Prof. Ernesto Lindstaedt

Definições Uma árvore binária T é um conjunto finito de elementos denominados nós ou vértices, tal que: Se T = 0, a árvore é dita vazia, ou Existe um nó especial r, chamado raiz de T, e os restantes podem ser divididos em dois subconjuntos disjuntos, TrE e TrD, a sub-árvore esquerda e a direita de r, respectivamente, as quais são também árvores binárias. A raiz da sub-árvore esquerda (direita) de um nó v, se existir, é denominada filho esquerdo (direito) de v. Naturalmente, o esquerdo pode existir sem o direito e vice-versa. Se r é a raiz de T, diz-se, também, que TrE e TrD são as sub-árvores esquerda e direita de T, respectivamente. Uma árvore binária pode ter duas sub-árvores vazias (a esquerda e a direita). Toda árvore binária com n nós possui exatamente n + 1 sub-árvores vazias entre suas sub-árvores esquerdas e direitas. 2

continuação Uma árvore binária é uma árvore cujos os nós têm 0, 1 ou 2 filhos e cada filho é designado como filho à esquerda ou filho à direita (Grau 2); O número de folhas é uma importante característica das árvores binárias para mensurar a eficiência esperada de algoritmos. 3

Classificação de Árvores Binárias Árvore Estritamente Binária Se cada nó não terminal em uma árvore binária ter sub-árvores à esquerda e direita, ou nenhum nó tem filho único; Uma árvore com n folhas, terá 2n – 1 nós. 4

Classificação de Árvores Binárias Árvore Binária Completa (ou Quase Completa) Uma árvore binária de nível n é uma árvore binária completa se: cada nó com menos de dois filhos deve estar no nível n ou no nível n-1 5

Classificação de Árvores Binárias Árvore Binária Cheia Uma árvore binária cheia de nível n é a árvore estritamente binária, onde todos os nós folhas estão no nível n; Uma árvore cheia com altura h, terá 2h – 1 nós. 6

Caminhamentos em Árvores Binárias Caminhamento em profundidade: os nós da sub-árvore atual têm prioridade na ordem de acesso; Caminhamento em largura (amplitude): os nós de menor nível têm prioridade na ordem de acesso. 7

Caminhamentos em Árvores Binárias Em profundidade, temos três tipos “canônicos”: Pré-ordem Pós-ordem Em-ordem Em amplitude, temos: Em nível 8

Caminhamento Pré-ordem Visitar a raiz Percorrer a sub-árvore esquerda em pré-ordem Percorrer a sub-árvore direita em pré-ordem Percurso: 4, 2, 1, 3, 6, 5, 7 4 2 6 3 1 7 5 9

Caminhamento Pós-ordem Percorrer a sub-árvore esquerda em pós-ordem Percorrer a sub-árvore direita em pós-ordem Visitar a raiz Percurso: 1, 3, 2, 5, 7, 6, 4 4 2 6 3 1 7 5 10

Caminhamento Em-ordem Percorrer a sub-árvore esquerda em pré-ordem Visitar a raiz Percorrer a sub-árvore direita em pré-ordem Percurso: 1, 2, 3, 4, 5, 6, 7 4 2 6 1 3 5 7 11

Caminhamento Em Nível Percorre-se a árvore em nível de cima para baixo e da esquerda para a direita. Percurso: 4, 2, 6, 1, 3, 5, 7 4 2 6 1 3 5 7 12

Estrutura de dados de uma Árvore Binária 4 4 2 6 2 6 1 3 5 7 1 3 5 7 Chave null Muitas implementações referenciam o pai no nó Referência à sub-árvore da esquerda ou null quando não há filhos Referência à sub-árvore da direita ou null quando não há filhos 13

Classe Representando o Nó public class BSTNode { protected int key; protected BSTNode left, right; public BSTNode() { left = right = null; } public BSTNode(int num) { this(num,null,null); public BSTNode(int num, BSTNode lt, BSTNode rt) { this.key = num; left = lt; right = rt; public int getKey() { return key; public void setKey(int key) { this.key = key; public BSTNode getLeft() { return left; } public void setLeft(BSTNode left) { this.left = left; public BSTNode getRight() { return right; public void setRight(BSTNode right) { this.right = right; 14

Classe Representando a Árvore Binária public class BST { private BSTNode root = null; public BST() { } public void clear() { root = null; public boolean isEmpty() { return root == null; public BSTNode getRootNode (){ return root; 15