ÍNDICE. Árvores (Definição e terminologias) 2. Árvores Binárias 4. Armazenamento de Árvores Binárias 5. Aplicação 6. Como percorrê-la 6.
|
|
- Elza Custódio de Sousa
- 7 Há anos
- Visualizações:
Transcrição
1 Árvores Seminário de Matemática Discreta Componentes: Rogério Caetano Cardoso, Nino Prates Arcanjo, Leonardo Duarte Vencioneck, Vinicius Maia. Professor: Leandro Colombi Resendo Curso: Bacharelado em Sistema de Informação - IFES Campus Serra
2 ÍNDICE Árvores (Definição e terminologias) 2 Árvores Binárias 4 Armazenamento de Árvores Binárias 5 Aplicação 6 Como percorrê-la 6 Algoritmos 6 Exercícios 13 Referências 16
3 Definição: Uma árvore T é um conjunto finito de elementos denominados nós ou vértices tais que: T = 0 é a árvore dita vazia ou existe um nó r, chamado raiz de T; os nós restantes constituem um único conjunto vazio ou são divididos em m<1 conjuntos distintos não vazios que são as sub-árvores de r, cada sub-árvore a qual é, por sua vez, uma árvore. Exemplo: Terminologia: Sub-árvore: Cada nó de árvore é a raiz de uma sub-árvore. Grau de um nó: O número de sub-árvores de um nó é o grau daquele nó. Ex: O nó F tem grau 2. Grau de uma árvore: O grau de uma árvore é o máximo entre os graus de seus nós. Ex: A árvore acima tem grau 2. Filhos de um nó X: são as raízes das sub-árvores de um nó. Ex: O nó D é filho do nó B. Folha: Um nó de grau igual a zero é denominado folha ou nó terminal. Ex: As folhas dessa árvore são os nós: D, E, H, I, G. Nível: A raiz da árvore tem sempre nível 0 e o nível dos demais nós é igual ao número de linhas que o liga a raiz, isto é o comprimento do caminho que vai da raiz até este nó. Ex: O nível do nó H é 3. Altura: É definida pelo nível mais alto da Árvore. Ex: A tem nível 0; B e C nível 1; D, E, F, G tem nível 2; H e I tem nível 3 e esse é o nivel mais alto, portanto, a altura da árvore é 3.
4 Dica: Sempre será uma folha que terá o maior nível da árvore. Terminologia: Floresta: É um conjunto de zero ou mais árvores disjuntas. EX: Árvore Ordenada: É aquela na qual os filhos de cada nó estão ordenados. Assume se a ordenação da esquerda para direita. Ex: Ordenada Não Ordenada
5 Árvores Isomorfas: Duas árvores não ordenadas são isomorfas quando puderem se tornar coincidentes através de uma permutação na ordem das sub-árvores de seus nós. Duas árvores ordenadas são isomorfas quando forem coincidentes segundo a ordenação existente entre seus nós. Terminologia: Árvore Cheia: Árvore com número máximo de nós. Uma árvore de grau x tem número máximo de nós se cada nó, com exceção das folhas tem grau x. Ex: Árvore cheia de grau 2: Árvore binária: Árvore binária é aquela em que cada nó tem no máximo duas sub-árvores (filhos), onde é necessária a distinção entre a da esquerda e a da direita. Árvores binárias são utilizadas em várias situações, por exemplo, um torneio de futebol eliminatório, do tipo das copas do mundo, em que a cada etapa os times são agrupados dois a dois e sempre são eliminados metade dos times é uma árvore binária. Uma árvore binária pode ser definida como um conjunto finito de nós, que é vazio, ou consiste de um nó raiz e dois conjuntos disjuntos de nós, a sub-árvore esquerda e a subárvore direita. É importante observar que uma árvore binária não é um caso especial de árvore e sim um conceito completamente diferente. Observe a figura abaixo e veja que são duas árvores idênticas, mas são duas árvores binárias diferentes, pois uma tem uma simples inversão nas folhas da árvore gera duas árvores binárias diferentes.
6 Existem alguns tipos de árvores binárias: Árvore estritamente binária: é aquela em que cada nó tem 0 ou 2 filhos. Árvore binária cheia: é a que se um nó tem alguma sub-árvore vazia então ele está no último nível. Árvore binária completa: é a que se n é um nó com algumas de sub-arvores vazias, então n se está no penúltimo ou no último nível. Logo, toda árvore cheia é completa e estritamente binária. Armazenamento de Árvores Binárias (Programação): Para armazenar cada nó de uma árvore binária precisamos de uma estrutura que contenha dois ponteiros: um aponta para a sub-árvore esquerda e outro para a subárvore direita. Claro que também devemos ter o campo para o armazenamento das informações contidas em cada nó. Para armazenar uma árvore com n nós precisamos de 2n+1 unidades de memória. Exemplo de Aplicação de Árvores Binárias: Árvores binárias são estruturas importantes toda vez que uma decisão binária deve ser tomada em algum ponto de um algoritmo. Vamos supor que precisamos descobrir os números que estão duplicados em uma lista não ordenada de números. Existem muitas maneiras de se realizar essa tarefa, Uma delas seria comparar cada novo número com todos os números já lidos, o que aumenta muito a complexidade do algoritmo. Outra maneira é usar uma árvore binária para manter os números, onde o primeiro número lido é colocado na raiz da árvore e cada novo número lido é comparado com o elemento raiz, caso seja igual é uma duplicata e voltamos a ler outro
7 número. Se for menor repetimos o processo com a árvore da esquerda e se maior com a árvore da direita. Este processo continua até que uma duplicata é encontrada ou uma árvore vazia é achada. Neste caso, o número é inserido na posição devida na árvore. Percorrendo Árvores Binárias Percorrer uma árvore binária é passar por todos os nós, pelo menos uma vez. Visitar um nó quer dizer que será executada uma operação com a informação que está armazenada nesse nó, por exemplo, imprimir seu conteúdo. Quando se percorre uma árvore binária pode-se passar por alguns nós mais de uma vez, sem porém visitálos.não existe uma ordem natural para percorrer árvores, logo existem diferentes maneiras de percorrê-las. Um método é o percurso em pré-ordem, implica em executar recursivamente os três passos nessa ordem: 1. Visitar a raiz; 2. Percorrer a sub-árvore da esquerda em pré-ordem; 3. Percorre a sub-árvore da direita em pré-ordem. Para a árvore da figura abaixo este percurso forneceria, no caso da visita significar imprimir, os seguintes resultados: F B A D C E H G I. Algoritmo de Exibição: void exibiremordem(no *praiz){ if(praiz!= NULL){ exibiremordem(praiz->pesquerda); printf("\n%i", praiz->numero); exibiremordem(praiz->pdireita); } }
8 Esse algoritmo, é um algoritmo recursivo em C, que imprime na tela um nó, com suas ramificações inferiores. Imprimindo primeiro, todo o ramo da esquerda, pra depois imprimir as ramificações da direita. Algoritmo para se contar nós: int contarnos(no *praiz){ if(praiz == NULL) return 0; else return 1 + contarnos(praiz->pesquerda) + contarnos(praiz->pdireita); } Neste algoritmo, ele percorre todos os nós, ou elementos, da árvore, e enquanto ele existir, ele conta soma esse elemento, com suas ramificações. Algoritmo para se contar folhas: int contarfolhas(no *praiz){ if(praiz == NULL) return 0; if(praiz->pesquerda == NULL && praiz->pdireita == NULL) return 1; return 0 + contarfolhas(praiz->pesquerda) + contarfolhas(praiz->pdireita); } Já este algoritmo, soma apenas quando não há ramificações adjacentes ao elemento passado a ela como parâmetro, no caso, apenas para contar as folhas. Algoritmo de Inserção Para inserirmos valores em uma árvore binária nós utilizamos um procedimento recursivo que recebe como parâmetro o um nó da arvore e o elemento que vai ser inserido na árvore. Com isso a árvore é percorrida até que encontremos a posição no qual o elemento deve ser armazenado e inserimos o mesmo na árvore. Logo abaixo temos um pseudocódigo com uma estrutura que representa uma arvore binária e o algoritmo de inserção na mesma. estrutura No
9 inteiro valor; No dir, esq; fim vazio arvore_inserir(no raiz, inteiro valor) se(raiz=nulo) raiz.valor<-valor; raiz.esq<-nulo; raiz.dir<-nulo; fim se se(v>raiz.valor) arvore_inserir(raiz.dir,valor); fim se arvore_inserir(raiz.esq,valor); fim fim fim
10 Algoritmo de Remoção Para removermos um nó de uma árvore devemos levar analisar três casos: o nó não possui filhos; o nó possui apenas um filho; o nó possui dois filhos. No primeiro caso nós iremos simplesmente armazenar o valor NULO no nó que será removido. Removendo nó (8) sem filhos No segundo o nó filho irá subir, ou seja, nós iremos mover o nó filho daquele que será removido uma posição acima.
11 Removendo nó (6) com um filho O terceiro caso é o mais complexo. Aqui nós iremos percorrer a subárvore direita do nó (ou o filho direito do nó) procurando o elemento mais à esquerda dessa subárvore, ou seja, o menor elemento. Ao encontrarmos esse elemento, caso ele tenha um filho, esse filho estará à direita, então esse filho à direita será movido para a posição acima e o pai será movido para a posição do nó que será removido. Caso o elemento mais à esquerda não tenha filho então nós simplesmente movemos ele para o nó que será removido e armazenamos o valor NULO na posição na qual ele se encontrava. Removendo nó (12) com dois filhos Um pseudo-código do algoritmo de remoção é mostrado abaixo. Nele nós usamos uma função auxiliar com o nome percorrer para o caso de um nó com dois filhos. Essa função percorre a subárvore direita do nó que vai ser removido buscando o elementos mais à esquerda da mesma, retorna esse elemento e armazena o valor NULO na posição anterior desse elemento, caso ele não tenha filho ou, caso ele tenha filho, move o filho uma posição acima. Para esse algoritmo considere a mesma estrutura que foi usada no algoritmo de inserção para representar a árvore. vazio arvore_remover(no raiz, inteiro valor)
12 inteiro aux; se(raiz.valor=valor) se(raiz.dir=nulo e raiz.esq=nulo) raiz<-nulo; fim se se(raiz.esq!=nulo e raiz.dir!=nulo) aux=percorrer(raiz.dir); raiz.valor<-aux; fim se(raiz.esq!=nulo) raiz.valor<-raiz.esq.valor; raiz.esq<-nulo; fim se raiz.valor<-raiz.dir.valor; raiz.dir<-nulo; fim fim
13 fim fim se se(valor>raiz.valor) arvore_remover(raiz.dir,valor); fim se arvore_remover(raiz.esq,valor); fim fim fim inteiro percorrer(no raiz) Inicio inteiro aux; se(raiz.esq=nulo) se(raiz.dir=nulo) aux<-raiz.valor; raiz<-nulo; retorna aux; fim se aux<-raiz.valor; raiz.valor<-raiz.dir.valor; raiz.dir.valor<-nulo; retorna aux; fim
14 fim fim se retorna percorrer(raiz.esq); fim Exercícios: 1) Desenhe a árvore que represente a expressão abaixo: (GERSTING, J. L., Fundamentos matemáticos para a ciência da computação, Ed. LTC, 5ª Ed. 2008, Capítulo 5.2 exercício 3 ). [( x 2 ) * 3 ] + ( ) Resolução: 2) Monte a árvore binária de acordo com a tabela abaixo: (GERSTING, J. L., Fundamentos matemáticos para a ciência da computação, Ed. LTC, 5ª Ed. 2008, Capítulo 5.2 exercício 7 [modificado])
15 Resolução: 3) Dada a árvore abaixo, indique qual elemento é a raiz, os nós e as folhas:
16 Resolução: Raiz: A Nós: B, D, G Folhas: E, F, C, H, I
17 Referências: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein. Algoritmos: teoria e prática GERSTING, J. L., Fundamentos matemáticos para a ciência da computação, Ed. LTC, 5ª Ed. 2008, Capítulo 5.2
Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc material de referência
Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc tiago@comunidadesol.org material de referência http://www.tiagodemelo.info/aulas 1 Roteiro Motivação Representação de árvores Definição Terminologia
Leia maisEstruturas de Dados II
Estruturas de Dados II Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2086 Aula 2: Árvores http://www.do.ufgd.edu.br/rodrigosacchi Árvores Definição: Árvores Uma árvore T é um conjunto
Leia maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia maisÁrvores Binárias. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 17/03/2015
Árvores Binárias Disciplina de Algoritmos e Estrutura de Dados III Prof. Marcos Antonio Schreiner 17/03/2015 1 Introdução Árvore binárias são estruturas importantes toda vez que uma decisão binária deve
Leia maisÁrvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas
Leia maisAlgoritmos e Estrutura de Dados II. Árvore. Prof a Karina Oliveira.
Algoritmos e Estrutura de Dados II Árvore Prof a Karina Oliveira kkco@dei.unicap.br Introdução Estruturas de dados lineares (pilha, fila) são estruturas que guardam coleções de elementos que são acessados
Leia maisÁrvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral
SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas
Leia maisÁRVORES E ÁRVORES BINÁRIAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORES E ÁRVORES BINÁRIAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORES Árvores Árvores Binárias INSTITUTO DE COMPUTAÇÃO - UFF 2 ÁRVORES Fonte de consulta: Szwarcfiter, J.; Markezon,
Leia maisDAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
Leia maisESTRUTURA DE DADOS. Árvores, árvores binárias e percursos. Cristina Boeres
ESTRUTURA DE DADOS Árvores, árvores binárias e percursos Cristina Boeres 2 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos árvore genealógica diagrama hierárquico de uma
Leia maisÁRVORES E ÁRVORE BINÁRIA DE BUSCA
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática
Leia maisÁrvores. N-árias, Binárias, Busca. Vanessa Maia Berny Mestrado em Ciência da Computação
Árvores N-árias, Binárias, Busca Vanessa Maia Berny Mestrado em Ciência da Computação Disciplina de Estrutura de Dados Prof. Dr. Luzzardi, Paulo Roberto Gomes Abril de 2008 Árvores N-árias São estruturas
Leia maisÁrvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação
1 Árvores Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 2 Árvore Binária de Busca Definição: uma árvore binária de busca (ABB) é uma árvore binária na qual
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisÁrvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich
Árvores Binárias SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista. Figuras editadas por Isadora Maria Mendes http://www.icmc.usp.br/~paulovic
Leia maisAula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
Leia maisÁrvores & Árvores Binárias
Árvores & Árvores Binárias Problema Implementações do TAD Lista Linear Lista encadeada eficiente para inserção e remoção dinâmica de elementos, mas ineficiente para busca Lista seqüencial (ordenada) Eficiente
Leia maisÁrvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó (exceto a
Leia maisÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORES BINÁRIAS DE BUSCA Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REFERÊNCIA Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Cap. 4 INSTITUTO DE COMPUTAÇÃO
Leia maisB-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3
B-tree B-Trees Material da Prof. Denise Bandeira, aula de Christian Hofsetz B-Trees são árvores balanceadas. Diferente das árvores binárias, os nós de uma B-tree podem ter um número variável de nodos filho.
Leia maisÁrvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão
Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está
Leia maisAlgoritmos de Ordenação: Cota Inferior
Algoritmos de Ordenação: Cota Inferior ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material
Leia maisProf. Jesus José de Oliveira Neto
Prof. Jesus José de Oliveira Neto São estruturas de dados adequadas para a representação de hierarquias. Uma árvore é composta por um conjunto de nós. Existe um nó r, denominado raiz, que contém zero ou
Leia maisÁrvores. Listas e árvores. Árvores. Árvores. Árvores. Árvores 03/11/2011. Listas lineares
istas e árvores istas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral S-502 lgoritmos e struturas de ados iversas aplicações necessitam de estruturas mais complexas
Leia maisÁrvores Binárias de Busca (ABB) 18/11
Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:
Leia maisAlgoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
Algoritmos de Ordenação Cota inferior Professora: Fátima L. S. Nunes 1 1 1 Algoritmos de Ordenação Algoritmos de ordenação que já conhecemos: 2 2 2 Algoritmos de Ordenação Algoritmos de ordenação que já
Leia maisÁrvores & Árvores Binárias
SCE 182 SCC122 Algoritmos Estruturas e Estruturas de Dados de Dados I Árvores & Árvores Binárias Prof. Material Original: Walter Aoiama Nagai; Maria das Graças Volpe Nunes; Definições Árvore T é um conjunto
Leia maisConceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias
Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias Conceitos gerais Representação por Contiguidade Física Representação por Encadeamento Operações 2 Conceitos gerais Uma árvore
Leia maisALGORITMOS AVANÇADOS. UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL. Luiz Leão
UNIDADE V Estruturas de dados dos tipos Árvore Binária e Árvore AVL Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 - Árvores, Árvores Binárias e Árvores Binárias de Busca
Leia maisRaiz, filho, pai, irmão, ancestral, descendente, folha.
17.1 Aula 17: Conceitos de Árvores e Árvores Binárias Raiz, ilho, pai, irmão, ancestral, descendente, olha. Nível, altura, subárvore, subárvore parcial. Árvores binárias completas, binárias cheias, estritamente
Leia maisMatemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
Leia maisÁrvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação
1 Árvores Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação Conteúdo 2 Árvores Definições Conceitos Algoritmos Árvore Binária Implementação Algoritmos Árvore
Leia maisÁrvores Binárias de Busca (ABB) 18/11
Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:
Leia maisLinguagem Haskell. Maria Adriana Vidigal de Lima
em Haskell Linguagem Haskell Faculdade de Computação - UFU Dezembro - 2009 em Haskell 1 em Haskell Noções sobre Fundamentos em Haskell Noções sobre Uma árvore é uma estrutura de dados baseada em listas
Leia maisÁrvores binárias de busca
Árvores binárias de busca S-202 lgoritmos e Estruturas de Dados I Prof. Thiago. S. Pardo Árvore binárias Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz D B E Terminologia: filho esquerdo
Leia maisESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres
ESTRUTURA DE DADOS E ALGORITMOS Árvores Binárias de Busca Cristina Boeres Árvore Binária de Busca 30! construída de tal forma que, para cada nó: nós com chaves menores estão na sub-árvore esquerda nós
Leia maisÁrvores. Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque. Engenharia da Computação. Poli - UPE
Árvores Prof. Byron Leite Prof. Tiago Massoni Prof. Fernando Buarque Engenharia da Computação Poli - UPE Motivação Para entradas realmente grandes, o acesso linear de listas é proibitivo Estrutura de dados
Leia maisUniversidade Federal de Mato Grosso
Universidade Federal de Mato Grosso Estrutura de Dados II Curso de Ciência da Computação Prof. Thiago P. da Silva thiagosilva@ufmt.br Material basedado em [Kurose&Ross 2009] e [Gonçalves, 2007] Agenda
Leia maisÁRVORES. Prof. Yan ndre Maldonado - 1. Prof. Yandre Maldonado e Gomes da Costa
ÁRVORES Prof. Yan ndre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Árvores Prof. Yan ndre Maldonado - 2 Árvores são estruturas de dados que caracterizam uma relação entre os dados que a compõem;
Leia maisÁrvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura
Árvores B Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisÁrvores binárias de busca
Árvores binárias de busca Introdução à Ciência de Computação II Diego R. Amancio Baseado no material do Prof. Thiago A. S. Pardo Árvore binárias n Árvores de grau 2, isto é, cada nó tem dois filhos, no
Leia maisListas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisÁrvores. Algoritmos e Estruturas de Dados I. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Árvores lgoritmos e Estruturas de Dados I Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são lineares, uma árvore é uma estrutura de
Leia maisBruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Aula 08: Árvores
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Aula 08: Árvores Conceitos básicos Organiza um conjunto de acordo com uma estrutura hierárquica. Contém elementos que são chamados de nós O pai
Leia maisÁRVORES ABB (ÁRVORES BINÁRIAS DE BUSCAS) Sérgio Carlos Portari Júnior
ÁRVORES ABB (ÁRVORES BINÁRIAS DE BUSCAS) Sérgio Carlos Portari Júnior Árvore Binária de Busca (ABB) o valor associado à raiz é sempre maior que o valor associado a qualquer nó da sub-árvore à esquerda
Leia maisÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORE B Vanessa Braganholo Estruturas de Dados e Seus Algoritmos INTRODUÇÃO 2 ARQUIVOS DE ACESSO DIRETO Basicamente, duas formas de acesso a um registro: Acesso via cálculo do endereço do registro (hashing)
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Aula 19: - Comparação empírica de algoritmos de ordenação - Árvores Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2016 1 Comparação empírica de algoritmos de
Leia maisÁRVORE BINÁRIA DE BUSCA
ÁRVORE BINÁRIA DE BUSCA Introdução O algoritmo de busca binária em vetores tem bom desempenho e deve ser usado quando temos os dados já ordenados. No entanto, se precisarmos inserir e remover elementos
Leia maisÁrvores binárias de busca
Árvores binárias de busca SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Árvore binárias Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz D B A E C F Terminologia: filho esquerdo filho
Leia maisINF 1010 Estruturas de Dados Avançadas. Árvores binárias
INF 1010 Estruturas de Dados Avançadas Árvores binárias 1 Árvore estrutura hierárquica: A B E F C D G A B C E F D G A B C D E F G (A (B (E, F)), C, (D (G))) 05/09/16 2 Árvore - definições árvore: nó raiz
Leia maisFontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:
Fontes Bibliográficas Estruturas de Dados Aula 15: Árvores Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo 5; Estruturas
Leia maisAlgoritmos de Ordenação: HeapSort
Algoritmos de Ordenação: HeapSort ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material
Leia maisHeaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35
Heaps Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Introdução Definição de Heap Heap Binária Implementação com vetor Fila de Prioridades
Leia maisÁrvores - Conceitos. Roseli Ap. Francelin Romero
Árvores - Conceitos Roseli Ap. Francelin Romero Problema Representações/Implementações do TAD Lista Linear: Lista encadeada dinâmica eficiente para inserção e remoção dinâmica de elementos (início ou fim),
Leia maisÁrvores AVL e Árvores B. Jeane Melo
Árvores AVL e Árvores B Jeane Melo Roteiro Árvores Binárias Árvores AVL Definição Motivação Balanceamento Operações de rebalanceamento Árvores B Introdução Árvores Binárias Árvores binárias Cada nó tem
Leia maisEdital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 053/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisÁrvore binária - definição
Árvore binária - definição árvore binária: conjunto finito de nós Æ (árvore vazia) {raiz, sub-árvore esquerda, sub-árvore direita}, onde sae e sad são conjuntos disjuntos Æ ou raiz /* nó da árvore binária
Leia maisÁrvores Binárias de Busca
0. Um breve comentário sobre os algoritmos de busca em tabelas De uma maneira geral, realizam-se operações de busca, inserção e remoção de elementos numa tabela. A busca sequencial tradicional é O(N).
Leia maisÁrvores de Pesquisa (Parte II)
2013-02 Aula 21 Adaptado por Reinaldo Fortes para o curso de 2013-02 Arquivo original: 22._arvores_(parte_2) Árvores de Pesquisa (Parte II) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 24
Leia maisÁrvores Conceitos gerais
http://www.mysticfractal.com/ FractalImaginator.html Árvores Conceitos gerais 9/11 Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são
Leia maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisESTRUTURA DE DADOS DCC013. Árvore Binária de Busca
ESTRUTURA DE DADOS DCC013 Árvore Binária de Busca Árvore Binária de Busca Propriedade fundamental da árvore binária de busca Valor da chave da raiz é Maior do que o valor da chave da subárvore da esquerda
Leia maisEstrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Árvores (parte 2) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Leia maisEdital de Seleção 032/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 032/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisPesquisa em Memória Primária Árvores de Busca. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Pesquisa em Memória Primária Árvores de Busca David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Árvores de Pesquisa A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar
Leia maisÁrvores. Prof. César Melo DCC/ICE/UFAM
Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não podem ser usadas como hierarquias. Exemplo: árvore
Leia mais1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.
1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. b. Achar o maior elemento (campo numérico) de uma árvore binária dada. c. Trocar
Leia maisAlgoritmos e Estrutura de Dados II. Árvore AVL. Prof Márcio Bueno. / Material da Prof a Ana Eliza
Algoritmos e Estrutura de Dados II Árvore AVL Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material da Prof a Ana Eliza Árvores Binárias de Busca Objetivo da Utilização Minimizar
Leia maisAED1 - Árvores. Hebert Coelho. Instituto de Informática Universidade Federal de Goiás. HC AED1-Árvores 1/49
AED1 - Árvores Hebert Coelho Instituto de Informática Universidade Federal de Goiás HC AED1-Árvores 1/49 Roteiro Árvore; Árvores - Representações; Árvores - Conceitos; Árvores Binárias; Árvores Binárias
Leia maisÁrvores de Pesquisa (Parte I)
Baseado no material do Prof. Reinaldo Fortes para o curso de 2014-01 Arquivo original: 21._arvores_(parte_1) Árvores de Pesquisa (Parte I) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Algoritmos
Leia maisÁrvores Binárias. 9/11 e 11/11 Conceitos Representação e Implementação
Árvores Binárias 9/11 e 11/11 Conceitos Representação e Implementação Árvore Binárias (AB) Uma Árvore Binária (AB) T é um conjunto finito de elementos, denominados nós ou vértices, tal que: (i) Se T =,
Leia mais(a) todos os nós irmãos da árvore m-ária são interligados; (b) todas as conexões pai-filho são removidas, exceto a primeira de cada grupo.
3. Listas Não Lineares Quando existe mais de um caminho possíveis pela estrutura, esta é dita não linear. Exemplos clássicos de estruturas deste tipo são as árvores e grafos (estes estudados em Algoritmos
Leia maisÁrvores. Prof. César Melo DCC/ICE/UFAM
Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não adequadas para representar hierarquias. Exemplo:
Leia maisADT - Árvores. ADT Árvores Definição
ADT - Árvores Outro tipo abstrato de dados (ADT) é a árvore. Como acontece com as listas, a utilização das árvores será basicamente como estruturas de dados ao invés de tipos de dados. Ou seja, o foco
Leia maisEstruturas de Dados. Profº Carlos Alberto Teixeira Batista
Estruturas de Dados Profº Carlos Alberto Teixeira Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Árvores São estruturas de dados adequadas para a representação de hierarquias. Uma
Leia maisÁrvores. Árvores Binárias. Conceitos gerais Terminologia Forma de Representação de Árvores. Conceitos gerais Operações
Árvores Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias Conceitos gerais Operações 2 Conceitos gerais Uma árvore é uma estrutura de dados que se caracteriza por uma relação
Leia maisÁRVORES. Árvores. Árvores. Prof. Yandre Maldonado e Gomes da Costa
ÁRVORES Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Árvores Prof. Yandre Maldonado - 2 Árvores são estruturas de dados que caracterizam uma relação entre os dados que a compõem;
Leia maisUFJF - DCC - Estrutura de Dados e Laboratório de Programação II
UFJF - DCC - Estrutura de Dados e Laboratório de Programação II Árvore Binária (AB) 1. Considerar os tipos abstratos de dados definidos a seguir. Para o nó de uma árvore binária de números inteiros: class
Leia maisAcesso Sequencial Indexado
Acesso Sequencial Indexado Utiliza o princípio da pesquisa seqüencial cada registro é lido seqüencialmente até encontrar uma chave maior ou igual a chave de pesquisa. Providências necessárias para aumentar
Leia maisÁrvore Binária de Busca. Prof. César Melo
Árvore Binária de Busca Prof. César Melo Introdução O algoritmo de busca binária em vetores tem bom desempenho e deve ser usado quando temos os dados já ordenados. No entanto, se precisarmos inserir e
Leia maisEstrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Árvores (parte 3) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Leia maisÁrvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros Ribeiro
Universidade Federal de Alagoas - UFAL Departamento de Tecnologia da Informação - TCI Ciência da Computação Árvores Binárias e AVL Felipe Barros Pontes Gustavo Márcio de Morais Cunha Márcio de Medeiros
Leia maisMCTA001 Algoritmos e Estruturas de Dados I. Aula 08 Árvores (parte 1) Laboratório
MCTA001 Algoritmos e Estruturas de Dados I Aula 08 Árvores (parte 1) Laboratório 1Q-19 1 2 Árvore binária de busca (ABB) Inventada por P.F. Windley, A.D. Booth, A.J.T. Colin, e T.N. Hibbard em 1960. É
Leia maisÁRVORE BINÁRIA DE BUSCA TDA-ABB
ÁRVORE BINÁRIA DE BUSCA TDA-ABB Conceitos Gerais sobre Árvores Uma árvore é uma estrutura hierárquica dividida em níveis, que ou está vazia, ou contém elementos chamados nós; Diferentemente da árvore natural,
Leia maisListas Estáticas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de
Leia maisPesquisa em memória primária
Pesquisa em memória primária Pesquisa em memória primária Recuperar informação a partir de uma grande massa de informação previamente armazenada. Existem vários métodos de pesquisa, depende de: Tamanho
Leia mais1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.
1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó. b. Achar o maior elemento (campo numérico) de uma árvore binária dada. c. Trocar
Leia maisAlgoritmos e Estrutura de Dados II. Árvore AVL. Prof a Karina Oliveira. Fonte: Prof a Ana Eliza
Algoritmos e Estrutura de Dados II Árvore AVL Prof a Karina Oliveira kkco@dei.unicap.br Fonte: Prof a Ana Eliza Árvores Binárias de Busca Objetivo da Utilização Minimizar o número de comparações efetuadas,
Leia maisÁrvores de Pesquisa. A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação.
Árvores de Pesquisa A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação. Particularmente adequada quando existe necessidade de considerar todos ou alguma combinação
Leia maisCES-11. Árvores. Conceito de árvore. Definição recursiva de árvore Definições associadas a árvore. Ordenação dos nós de uma árvore
Árvores Conceito de árvore CES-11 Definição recursiva de árvore Definições associadas a árvore Representações de árvores Ordenação dos nós de uma árvore CONCEITO DE ÁRVORE Tantos as pilhas como as filas
Leia maisIntrodução a AVL: teoria e prática. 22/11, 25/11 e 30/11
Introdução a AVL: teoria e prática 22/11, 25/11 e 30/11 Árvores binárias de busca (ABB) Árvores de grau 2, isto é, cada nó tem dois filhos, no máximo Raiz B A C Terminologia: filho esquerdo filho direito
Leia maisCES-11. Algoritmos e Estruturas de Dados
CES-11 Algoritmos e Estruturas de Dados CES-11 Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Conceito de árvore Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto
Leia maisUNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio;
UNIVERSIDADE DE SÃO PAULO ICMC SCC 202 Algoritmos e Estrutura de Dados I - 2º Semestre 2010 Profa. Sandra Maria Aluísio; e-mail: sandra@icmc.usp.br Lista de Exercícios Árvores, Árvores Binárias, Árvores
Leia maisÁrvores, Árvores Binárias e Árvores Binárias de Pesquisa. Rui Jorge Tramontin Jr.
Árvores, Árvores Binárias e Árvores Binárias de Pesquisa Rui Jorge Tramontin Jr. Tópicos Abordados Introdução Definição de Árvore Árvores Binárias Árvores Binárias de Pesquisa (ABP) UDESC / Rui J. Tramontin
Leia maisAED2 - Aulas 06 e 07 Árvores AVL e rubro-negras
AED2 - Aulas 06 e 07 Árvores AVL e rubro-negras Árvores AVL AVL vem dos nomes dos seus inventores: Adelson-Velsky and Landis. Definições: a altura de uma subárvore é o comprimento do caminho mais longo
Leia mais