TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1...

17
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Transcript of TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1...

Page 1: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

ESTRUTURAS DE DADOS AVANÇADASAula 12

105/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 2: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

AgendaArvores Binárias.

Operações em Arvores BináriasBibliografia

205/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 3: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Operações em Arvores Binárias Inserção

A inserção começa com uma busca procurando pelo valor na árvore.

Se o elemento não existir na árvore:Introduz um novo nó na subárvore da esquerda, se o valor novo

é menor do que a raiz.Introduz um novo nó na subárvore da direita, se o valor novo

for maior do que a raizOs algoritmos 9.1 (versão iterativa) e 9.2 (versão

recursiva) demonstram o processo de inclusão de um elemento na árvore.

305/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 4: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Operações em Arvores Binárias

405/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 5: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Operações em Arvores BináriasPesquisaPara a busca em uma árvore binária por um valor

específico deve-se examinar a raiz.Se o valor for = à raiz ele existe na árvoreSe o valor for < que a raiz deve-se buscar na subárvore

da esquerda recursivamente nos nós da arvore até encontrar o valor desejado ou o fim da arvore.

Se o valor for > que a raiz deve-se buscar na subárvore da direita recursivamente nos nós da arvore até encontrar o valor desejado ou o fim da arvore..

505/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 6: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Os algoritmos 9.3 (versão iterativa) e .4 (versão recursiva) demonstram o

processo de pesquisa de um elemento na árvore.

605/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 7: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Exclusão - O processo de exclusão de um nó é mais complexo que as

operações anteriores. Para excluir um nó de uma árvore binária, deve-se considerar três casos distintos para realizar a exclusão. A exclusão de um nó que se encontra no fim da árvore, isto é, que seja uma

folha, é o caso mais simples de exclusão. Basta remover o nó da árvore

705/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 8: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Exclusão de nó com um filho

Caso o nó que será excluído tenha um único filho, o pai do nó (avô do filho) herda o filho. Isto é, o filho assume a posição do pai na árvore.

805/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 9: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Exclusão de nó com dois filhos Se o nó a ser excluído tiver dois filhos, o processo de exclusão poderá

operar de duas maneiras diferentes: Substituir o valor do nó a ser retirado pelo valor sucessor (o nó mais à

esquerda da subárvore direita). Substituir o valor do nó a ser retirado pelo valor antecessor (o nó mais à

direita da subárvore esquerda). Realizada a escolha, remove-se o nó sucessor (ou antecessor).

905/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 10: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Algoritmo de exclusão na árvore

1005/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 11: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Maior elemento

O maior elemento da árvore, nó com o maior valor, será encontrado sempre na folha mais à direita da árvore. Para encontrar o maior valor, basta procurar a partir da raiz sempre na subárvore da direita

1105/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 12: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Menor elemento

O menor elemento da árvore, nó com o menor valor, será encontrado sempre na folha mais à esquerda da árvore [ ]. Para encontrar o menor valor, basta procurar a partir da raiz sempre na subárvore da esquerda.

1205/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 13: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Percorrendo uma árvore

Uma operação comum é percorrer uma árvore binária, o que consiste em visitar todos os nós desta árvore segundo algum critério. Esse percurso, também chamado de travessia da árvore, pode ser feito de três formas :

Pré-ordem ou profundidade - os filhos de um nó são processados após o nó. Pós-ordem - os filhos são processados antes do nó. Em-ordem ou simétrica - em que se processa o filho à esquerda, o nó, e

finalmente o filho à direita.

1305/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 14: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Percorrendo uma árvore - continuação

1405/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 15: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Representações de árvores em C Árvores binárias podem ser representadas como um vetor de filhos

(programa 9.1) ou de forma dinâmica (programa 9.2 ).

1505/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 16: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Arvores Binárias - Pesquisa e ordenação Representações de árvores em C - continuação

1605/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com

Page 17: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 12 1 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com.

Bibliografia

05/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 17

BIBLIOGRAFIA BÁSICA

1AZEREDO, Paulo A. Métodos de Classificação de Dados. Rio de Janeiro: Ed. Campus, 1996.

2LAUREANO, M. Estrutura de Dados com Algoritmos e C. 1ª Ed. São Paulo: Brasport, 2008.

3PEREIRA, Silvio do Lago. Estruturas de Dados Fundamentais – Conceitos e Aplicações. 7.ed. São Paulo: Érica, 2008.

BIBLIOGRAFIA COMPLEMENTAR

4KOFFMANN, E.B. Objetos, Abstração, Estrutura de Dados e Projetos. 1ª Ed. Rio de Janeiro: LTC, 2008.

5MORAES, Celso Roberto. Estruturas de Dados e Algoritmos.Uma abordagem didática. Edição revista e Ampliada. São Paulo: Editora Futura, 2003.

6WIRTH, Niklaus. Algoritmos e estruturas de dados. Rio de Janeiro: Prentice Hall do Brasil, 1989.

7ZIVIANI, N. Projeto de Algoritmos com implementações em Pascal e C , Editora Pioneira, 1999.