Algoritmos e Estruturas de Dados 2

Documentos relacionados
{ fazer Pós-Ordem sem recursividade. Poderá cair na prova!!! }

Árvores. Algoritmos e Estruturas de Dados 2005/2006

EAD Árvore árvore binária

EAD Árvore - representação usando listas ligadas

ÁRVORES BINÁRIAS DE PESQUISA

Árvores Binárias de Busca

ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira

Árvore Binária de Busca

Árvores Binárias de Busca

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11

Algoritmos e Estrutura de Dados III. Árvores

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Árvores Binárias - continuação

Métodos Computacionais. Árvores

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira

Busca. Pesquisa sequencial

Estruturas de Dados I

Árvores e Árvores Binárias

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1

Árvore Binária de Busca. Algoritmos e Estrutura de Dados II. Operações Busca e Sucessor. Árvore Binária de Busca. Árvores Rubro-Negras

Linguagem C: Árvores Binarias

INF 1007 Programação II

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados

Árvores Binárias. Observação: Material elaborado a partir do material do Professor Marcos Costa.

PROGRAMAÇÃO II 4. ÁRVORE

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

2ª Lista de Exercícios

Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43

Algoritmos e Estruturas de Dados: Árvore Binária

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II

1. Introdução Definição Conceitos relacionados... 2

Árvores Binárias Balanceadas

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo

HASHING. Katia Guimarães. 1

BC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br

Classificação e Pesquisa de Dados

struct arv { char info; struct arv* esq; struct arv* dir; };

Sistemas de numeração

Árvores Trie e Patricia. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Estruturas de Dados II

Figura 13.1: Um exemplo de árvore de diretório.

DAINF - Departamento de Informática

UFSC-CTC-INE INE Estruturas de Dados. Árvores. Prof. Ronaldo S. Mello 2002/2. Árvore

26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES

Estruturas de Dados Pilhas, Filas e Deques

ESTRUTURAS DE DADOS I. Notas de Aula. Prof. Dr. Gilberto Nakamiti

ESTRUTURA DE DADOS PILHA

Algoritmos e Estruturas de Dados: Árvore Binária de Busca

Árvores Binárias de Pesquisa. Programação II Prof. Mateus Raeder. Árvores Binárias de Pesquisa. Árvores Binárias de Pesquisa. Classe Nodo Binário

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Complexidade de Algoritmos

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

GGI026 - Árvore rubro-negra - Remoção

;(define conta-folhas ; (lambda ( ) ; (cond ; ( ( ) ) ; ( (and ) ) ; ( else ; ) ) ))

Ordenamento por Borbulhagem (Bubble Sort)

Árvores Rubro-Negras. Árvores Rubro-Negras. (Vermelho-Preta) Estrutura da Árvore. Estrutura da Árvore

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Estrutura de Dados Árvores. Prof. Robinson Alves

Processo de Controle das Reposições da loja

Estruturas de Dados Árvores

Filas COMANDOS EM C++ PARA IMPLEMENTAÇÃO DE UMA FILA. Biblioteca padrão <queue>

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

Instalando o WordPress em localhost

Árvores binárias de pesquisa com balanceamento. Algoritmos e Estruturas de Dados II

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto

ESTRUTURA DE DADOS DCC013

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

DAS5102 Fundamentos da Estrutura da Informação

Pesquisa Sequencial e Binária

Árvores AVL (Balanceadas) Profª.Drª. Roseli Ap. Francelin Romero Fonte: Profa. Patrícia Marchetti Revisão: Gedson Faria

CODE IGNITER INSTALAÇÃO & BANCO DE DADOS

Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

Lema do Bombeamento Linguagens Livres de Contexto

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Prof. Jean Carlos Hennrichs. Revisão. 2. Lista Estática Duplamente Encadeada

ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) (a) Seja um TAD definido por uma lista circular implementada em um vetor.

Manual para Envio de Petição Inicial

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

FAQ Sistema Eletrônico de Informações SEI-MP

9 Comandos condicionais

Linguagem Haskell. Maria Adriana Vidigal de Lima

Unidade 5 Armazenamento e Indexação

Este curso tem a finalidade de tratar todos os procedimentos relacionados a uma emissão, como: formas de pagamentos variadas, por item nominal, etc.

Estruturas de Dados. Árvores AVL. Cesar Tadeu Pozzer. Curso de Ciência da Computação UFSM (12/12/2007)

Pesquisa Digital. Árvorie. Árvorie. Árvorie. Árvorie. Árvorie: : Estrutura

Transcrição:

Algoritmos e Estruturas de Dados 2 Unidade 1: Árvores binárias Rafael Beserra Gomes Universidade Federal do Rio Grande do Norte Material compilado em 21 de fevereiro de 201. Licença desta apresentação: http://creativecommons.org/licenses/

Nó de uma árvore binária Um nó de uma árvore binária contém: chave, filho esquerdo, filho direito e pai. pai ch e d

Exemplo Exemplo 8 6 7

Árvore binária de busca Na árvore binária de busca: a chave do nó atual é maior ou igual à chave esquerda e menor ou igual à chave direita. 7 6 9 Operações: buscar, mínimo, máximo, sucesso e predecessor

Percurso 1. Percurso em ordem 1 v i s i t a r ( node n ) { 2 v i s i t a r ( n. esq ) escreva ( n. chave ) 4 v i s i t a r ( n. d i r ) } 7 6 9

Percurso 2. Percurso pré-ordem 1 v i s i t a r ( node n ) { 2 escreva ( n. chave ) v i s i t a r ( n. esq ) 4 v i s i t a r ( n. d i r ) } 7 6 9

Percurso. Percurso pós-ordem 1 v i s i t a r ( node n ) { 2 v i s i t a r ( n. esq ) v i s i t a r ( n. d i r ) 4 escreva ( n. chave ) } 7 6 9

Introdução : Como encontrar um nó com uma chave específica? Suponha que estamos em busca do nó com chave 6. Iniciamos a busca pela raiz. Não está na raiz. Como 6 é maior que esta chave, caso exista, deve estar na subárvore direita. 7 6 9

Introdução : Como encontrar um nó com uma chave específica? Suponha que estamos em busca do nó com chave 6. 7 6 9 A raiz da subárvore direita tem chave 7. Não é a chave que procuramos. Então, caso exista, deve estar na subárvore esquerda.

Introdução : Como encontrar um nó com uma chave específica? Suponha que estamos em busca do nó com chave 6. 7 A raiz da subárvore esquerda tem a chave 6. 6 9

Introdução Mínimo: Como encontrar a menor chave da árvore? Começamos pela raiz. Como temos uma subárvore esquerda, esta chave não é a menor. O mínimo está na subárvore esquerda. 7 6 9

Introdução Mínimo: Como encontrar a menor chave da árvore? Ainda temos uma subárvore esquerda, esta não é chave mínima. O mínimo está na subárvore esquerda. 7 6 9

Introdução Mínimo: Como encontrar a menor chave da árvore? 7 Por fim, não temos mais uma subárvore esquerda, então esta é chave mínima. 6 9

Como encontrar o predecessor e sucessor de uma chave na árvore? Considerando que existe uma ordem crescente de chaves: Sucessor é a chave que segue a chave atual na ordem crescente das chaves. Predecessor é a chave que antecede a chave atual na ordem crescente das chaves.

20 Exemplo: vamos encontrar o sucessor de 20. 14 0 10 19 2 2 12 17 1 16 18

20 Quais chaves são maiores que 20? Somente a subárvore direita, pois este nó não tem pai. Quem é o sucessor? 14 0 10 19 2 2 12 17 1 16 18

20 0 10 2 2 8 16 1 7 9 18 Exemplo: vamos encontrar o sucessor de 18. O sucessor não é nenhum dos filhos.

20 0 10 2 2 8 16 1 7 9 18 O sucessor está nessa subárvore?

20 0 10 2 2 8 16 1 7 9 18 O sucessor está nessa subárvore?

20 0 10 2 2 8 16 1 7 9 18 O sucessor está nessa subárvore?

20 O sucessor está nessa subárvore? Já descartamos a subárvore esquerda. Então quem é o sucessor? 0 10 2 2 8 16 1 7 9 18

Introdução : caso a árvore esteja vazia, o nó adicionado é único. Caso tenha algum nó, o novo nó é adicionado como filho de algum nó existente. Vamos inserir o nó 8. Começamos pela raiz. O nó deve estar na subárvore direita. 7 6 9

Introdução 7 O novo nó deve estar na subárvore direita. 6 9

Introdução 7 6 9 O novo nó deve estar na subárvore esquerda. 8

Introdução Como realizar a eliminação de um nó na árvore binária? 20 14 0 10 19 2 2 12 17 1 Se o nó não tem filho, a remoção é imediata 16 18

Introdução 20 14 0 10 19 2 2 Se o nó tem apenas um filho. Esse filho substitui o pai 12 17 1 16 18

Introdução 20 Se o nó contém 2 filhos, é substituido pelo seu sucessor. 14 0 10 19 2 1 12 17 E o filho único (se houver) do sucessor substitui seu pai. 16 18