Aula 06 – 05/04 Árvores binárias.

Slides:



Advertisements
Apresentações semelhantes
Árvores Passeios.
Advertisements

Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Marco Antonio Montebello Júnior
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
Estrutura de Dados e Algoritmos e Programação e Computadores II
Árvores.

David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Pesquisa em Árvores Digitais
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
Classificação e Pesquisa de Dados
Árvores e Árvores Binárias
Métodos de Classificação por Seleção: HeapSort
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Análise Sintática Ascendente
Construção de Compiladores
Algoritmo e Estrutura de Dados II
Robson Godoi / Sandra Siebra
Robson Godoi / Sandra Siebra
Prof. Ernesto Lindstaedt
Árvore Geradora Mínima
Algorítmos e estrutura de dados III
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Variáveis, Tipos de Dados e Constantes
LISTAS DUPLAMENTE ENCADEADAS
Pesquisa em Memória Primária
Listas duplamente encadeadas Estrutura: tDado = integer; { ou real, char, etc.} tPtNo = ^tNo; tNo = record Ant: tPtNo Dado: tDado; Prox: tPtNo; end; var.
Procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P);
Árvores Binárias de Pesquisa
Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Primeira aula de PL/SQL Parte II
Algoritmos e Estrutura de Dados III
Estruturas de Dados Aula 9: Listas (parte 1)
Á R V O R E S.
Aula 08 – 26/04 Trabalho para entrega - Correção exercícios aula passada – Revisão para prova – Uso de expressões regulares - Informações 2º TAE.
Árvore Binária de Busca
Aula 04 – 22/03 Listas Duplamente Encadeada – Listas Encadeada Circular – Lista Duplamente Encadeada Circular.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Conceito de Árvores – Árvores Binárias
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples

Árvores Binárias Profa. Patrícia A. Jaques Luiz Gonzaga Jr
Estruturas de Dados Aula 15: Árvores
– Aula 20 Adaptado por Reinaldo Fortes para o curso de
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
Professor Ulisses Vasconcelos

Heaps Binomiais Rômulo de Almeida Bruno Mestrando em Ciência da Computação Professora Liliane Salgado Disciplina - Algoritmos.
Métodos de Ordenação.
Prof Ulisses Vasconcelos ESTRUTURA DE DADOS AULA 02 - PILHA Conceito Inserção Remoção.
Introdução à Programação
Introdução a Árvores e Árvores Binárias
Árvores de Busca Binária
Prof. Daniel Morais dos Reis
Árvores (introdução) Anjolina Grisi de Oliveira Obs: vários slides foram cedidos por Adolfo Almeida Duran (UFBA)
28 de outubro de Árvores Binárias e Árvores AVL Parte 2 Katia Guimarães.
Árvores e Árvores Binárias
Árvores Binárias e Árvores AVL Katia Guimarães. Árvores Binárias e Árvores AVL Katia S. Guimarães
Exercícios sobre Árvores Professor Luiz José Hoffmann Filho
Aula 13 - Triggers. Triggers no SGBD Postgres  Os Triggers (Gatilhos) são funções preparadas para serem disparadas no caso de alguma alteração ocorrer.
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 Á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:

Aula 06 – 05/04 Árvores binárias

É um tipo de árvore especial onde cada nó pode ter de 0 a 2 nós descendentes. Por convenção os nós são chamados de nó da esquerda e nó da direita Dessa forma a árvore binária tem no máximo grau 2.

Exemplo de uma árvores binária No raiz é 8 Subarvore esquerda iniciando nó 3 e a subarvore direta iniciando no nó 10. Nós folha 1, 4, 7 e 13

Prática - Declarando uma árvores binária PApontador = ^TItem;   TItem = record     Valor: TEstado;     NoEsquerda: PApontador;     NoDireta: PApontador;   end;

Prática – Inserindo um elemento na árvore Vamos inserir os itens seguindo uma ordem. Se a árvore estiver vazia insere o novo elemento no raiz. Se o item que estiver sendo inserido é menor que a raiz inserimos o item na esquerda. Se o item que estiver sendo inserido é maior que a raiz inserimos o item na direita.

Exemplo de inserção

Algoritmo procedure TForm2.Inserir( AEstado: TEstado; var AItem: PApontador ); begin if ( AItem = nil ) then begin // Aloca um novo item na memória New( AItem ); AItem.Valor:= AEstado; AItem.NoEsquerda:= nil; AItem.NoDireta:= nil; end else // A o campo para ordenação é o nome if ( AEstado.Codigo < AItem.Valor.Codigo ) then Inserir(AEstado, AItem.NoEsquerda) else if ( AEstado.Codigo > AItem.Valor.Codigo ) then Inserir(AEstado, AItem.NoDireta) else raise Exception.Create('Não é permitido item duplicado'); end; end;

Prática – Pesquisando um item na arvore Percorre a árvore de forma ordenada. Processo eficiente pois temos uma direção a ser percorrida. Verifica se a raiz é igual ao item a ser pesquisado. Se o nó raiz é menor, continua a busca pela esquerda. Se o nó raiz é menor, continua a busca pela direita.

Exemplo de pesquisa

Algoritmo procedure TForm2.Buscar(AItem: PApontador); begin // Verifica se a lista esta vazia if ( AItem <> nil ) then begin // Encontrou o registro if ( AItem.Valor.Codigo = StrToInt ( EdtCodigo.Text )) then begin EdtSiglaEstado.Text:= AItem.Valor.Sigla; EdtNomeEstado.Text:= AItem.Valor.Nome; end else if ( (StrToInt ( EdtCodigo.Text )) < AItem.Valor.Codigo ) then Buscar( AItem.NoEsquerda ) else if ((StrToInt ( EdtCodigo.Text )) > AItem.Valor.Codigo ) then Buscar( AItem.NoDireta ) end; end; end;

Percorrendo árvores binarias Necessidade de percorrer a arvores de forma sistêmica percorrendo todos os nós da arvore. No caso de uma estrutura de arvores possuir os dados de um produto, teríamos que percorrer todas a arvores para emitir um relatórios dos produtos.

Tipos de percurso – Pré ordem Visita a raiz (executa uma certa operação). Percorre a sub arvore da esquerda. Percorre a sub arvore da direita.

Tipos de percurso – Em ordem Percorre a sub arvore da esquerda. Visita a raiz (executa uma certa operação). Percorre a sub arvore da direita.

Tipos de percurso – Pós ordem Percorre a sub arvore da esquerda. Percorre a sub arvore da direita. Visita a raiz (executa uma certa operação).

Prática – Pré ordem procedure TForm2.PreOrdem(AItem: PApontador); begin if ( AItem <> nil ) then begin // Esse nó é o raiz da subarvore ShowMessage( Aitem.Valor.Nome ) PreOrdem( AItem.NoEsquerda ); PreOrdem( AItem.NoDireta ); end; end;

Exercícios aula 06 – Exercícios.docx