CES-11. Algoritmos e Estruturas de Dados
|
|
|
- Alice Amarante Raminhos
- 8 Há anos
- Visualizações:
Transcrição
1 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 dimensão. Na sua implementação, as listas ligadas possibilitam maior flexibilidade que os vetores, mas mesmo assim não permitem a representação hierárquica de dados. (trees) são estruturas hierárquicas, formadas por vértices e arestas. Ao contrário das árvores naturais, são representadas de cima para baixo: a raiz está no topo e as folhas na base.
2 Conceito de árvore Cada elemento: Tem um único pai (exceto a raiz) Pode ter vários filhos Não pode ser pai de nenhum ancestral A raiz é o único nó que não possui ancestrais Nó A As folhas são os nós sem filhos Nós E, F, G, I, J, K Conceito de árvore Um nó não pode ter um ancestral como filho Caso contrário, surgiria um ciclo... Desse modo, a árvore é uma estrutura recursiva: cada filho é também raiz de uma outra árvore Conceito de árvore Exemplos: Árvore nula: sem nós Conceito de árvore O número de filhos por nó e as informações armazenadas diferenciam os tipos de árvores. A árvore ao lado representa a expressão (3+6)*(4-1)+5: as folhas possuem valores e os nós intermediários, operadores matemáticos.
3 CES-11 Definição recursiva de árvore Um único nó, por si mesmo, é também uma árvore sem filhos, onde ele é a raiz. Seja n um nó e T 1, T 2,..., T k, árvores de raízes n 1, n 2,..., n k, respectivamente. Pode-se construir uma nova árvore tornando n pai de n 1, n 2,..., n k. n n 1 n 2 n 3 n k T 1 T 2 T 3 T k Definição recursiva de árvore Comprovação de que a figura abaixo é uma árvore: I, J, K são árvores sem filhos H é raiz de uma nova árvore F e G são árvores sem filhos C é raiz de uma nova árvore E é uma árvore sem filhos B é raiz de uma nova árvore Como B, C e D são árvores, A é raiz de uma nova árvore CES-11
4 Filho esquerdo de um nó é o seu único filho ou o primeiro filho mais à esquerda. B é o filho esquerdo de A F é o filho esquerdo de C H é o filho esquerdo de D Irmão direito de um nó é o irmão imediatamente à direita desse nó. Nó sem irmão direito é chamado de caçula. C é o irmão direito de B K é o irmão direito de J H, G, K são caçulas E é filho esquerdo e caçula Caminho de um nó n 1 a outro n k : sequência de nós n 1, n 2, n 3,..., n k-1, n k tais que n i é pai de n i+1, com 1 i < k. Ex: A, AB, ABE, AC, B, ACG, CF, ADHJ, ADHK, DH, DHI, etc. O comprimento de um caminho é a sua quantidade de arestas. Ex: A = 0, AB = 1, DHI = 2 É o número de nós menos 1 Cada nó pode ser alcançado a partir da raiz através de um único caminho. O nível (ou profundidade) de um nó é o comprimento do caminho da raiz até esse nó. Altura de um nó é o comprimento do mais longo caminho desse nó a alguma folha. A altura de uma árvore não vazia é o nível máximo de um nó nessa árvore (ou seja, será a altura da sua raiz). Altura da árvore é 3 Altura 3 Altura 1 Altura 1 Altura 2 Altura 0 Altura 0 Altura 0 Nível 0 Nível 1 Altura 1 Nível 2 Altura 0 Altura 0 Altura 0 Nível 3
5 Se há um caminho de n i a n j, então n i é ancestral de n j e n j é descendente de n i. Um nó é ancestral e descendente de si mesmo. Ancestral próprio ou descendente próprio de um nó é um ancestral ou descendente, respectivamente, distinto desse mesmo nó. Na árvore ao lado: Ancestrais próprios de J: A, D, H Descendentes próprios de D: H, I, J, K Podemos redefinir raiz e folha com os conceitos de ancestral e descendente próprios: Raiz: nó que não possui ancestral próprio Folha: nó que não possui descendente próprio (também chamado nó terminal) O grau de um nó é o número de seus filhos. É o número de sub-árvores disjuntas desse nó As folhas têm grau nulo O grau de uma árvore é o máximo entre os graus de seus nós. Um nó que não é folha é chamado de nó interno ou nó não-terminal. Irmãos: filhos de um mesmo nó. Exemplos na árvore ao lado: Grau de C? 2 Grau de G? 0 Grau da árvore? 3 Quais os irmãos de B? C e D Quais os irmãos de E? Não há Quais os nós não-terminais? A, B, C, D e H Um conjunto de árvores é chamado de floresta. Exemplo:
6 CES-11 Representações de árvores a) Forma convencional b) Diagrama de conjuntos Representações de árvores Representações de árvores c) Forma parentética Coloca-se entre parêntesis a raiz, seguida das formas parentéticas de suas sub-árvores, ordenadas da esquerda para a direita (A (B (E)) (C (F) (G)) (D (H (I) (J) (K))) ) Identificação recursiva de uma forma parentética: Sendo c um caractere genérico, (c) é uma forma parentética correta. Se α 1, α 2, α 3,..., α n são formas parentéticas corretas, com n > 0, então (c α 1 α 2 α 3... α n ) também será. d) Forma tabulada Diretoria Departamento de Fabricação Seção de Prensas Seção de Tornos Seção de Ferramentaria Seção de Fornos Seção de Banhos Químicos Departamento de Engenharia de Produção Seção de Desenvolvimento de Projetos Seção de Desenhos Seção de Controle de Qualidade Departamento de Manutenção Seção de Eletricistas Seção de Mecânica Seção de Hidráulica Seção de Instalações Prediais Cada nó aparece numa linha, e seus filhos são listados com uma tabulação a mais que a desse nó. Ex: organograma de uma empresa, índice de livros, etc.
7 Representações de árvores CES-11 e) Forma numerada (ou itemizada) 1 Estruturas de dados 1.1 Listas lineares Estrutura contígua Estrutura encadeada Pilhas e filas 1.2 Árvores Estruturas de dados Árvores binárias 1.3 Grafos Grafos orientados Grafos não orientados Semelhante à anterior: a numeração de um nó tem como prefixo o número de seu pai, e como sufixo um número que o diferencie dos irmãos. Ordenação dos nós n s de uma árvore a) Ordenação dos filhos de um nó Os filhos de um nó são ordenados da esquerda para a direita Por exemplo, as duas árvores abaixo têm o mesmo pai e os mesmos filhos, mas são diferentes: Ordenação dos nós n s de uma árvore b) Extensão da ordenação da esquerda para a direita Se X e Y são irmãos e X está à direita de Y, então todos os descendentes de X estão à direita de Y e dos seus descendentes. O caminho da raiz até um determinado nó separa os nós que estão à sua esquerda dos que estão à sua direita. Exemplo: C e D são irmãos e C está à esquerda de D F e G estão à esquerda de D, H, I, J e K J não está nem à direita nem à esquerda de H, D, e A
8 Ordenação dos nós n s de uma árvore c) Ordenação de todos os nós de uma árvore Existem formas de se ordenar e de se percorrer sistematicamente todos os nós de uma árvore: Ordenação ou percurso por nível Ordenação ou percurso em pré-ordem Ordenação ou percurso em pós-ordem Ordenação ou percurso em ordem central (ou in-ordem) Busca em largura Busca em profundidade Percurso por nível n (ou largura) Passos: Primeiramente, visita-se a raiz Depois visitam-se todos os filhos da raiz, da esquerda para a direita Depois os netos, depois os bisnetos da raiz, e assim por diante... Também é chamado percurso ou busca em largura A B C D E F G H I J K Percurso por nível n (ou largura) Percurso por nível n (ou largura) Implementação com uso de fila: Depois que um nó é visitado, seus filhos (da esquerda para a direita) são colocados no final da fila. O próximo nó a ser visitado é o que está no início da fila. Termina quando a fila fica vazia. void OrdenacaoPorNivel(raiz) { Fila q; node p = raiz; if (p!= null) { enqueue(q,p); while (!isempty(q)){ p = first(q); dequeue(q); escreve(p); Para todo f filho de p enqueue(q,f); Fila: A Fila: B, C, D Fila: C, D, E Fila: D, E, F, G Fila: E, F, G, H Fila: F, G, H Fila: G, H Fila: H Fila: I, J, K Fila: J, K Fila: K Fila: vazia void OrdenacaoPorNivel(raiz) { Fila q; node p = raiz; if (p!= null) { enqueue(q,p); while (!isempty(q)){ p = first(q); dequeue(q); escreve(p); Para todo f filho de p enqueue(q,f); Resultado: A B C D E F G H I J K
9 Percursos em profundidade Se T é uma árvore nula, então uma lista vazia será o percurso em pré-ordem, pós-ordem e ordem-central de T. Se T consiste em um só nó, esse nó será o percurso em pré-ordem, pós-ordem e ordem-central de A. Outros casos: seja T uma árvore de raiz n e sub-árvores T 1, T 2,..., T k. n Percurso em pré-ordem Passos: Primeiramente, a raiz n de T; Em seguida, os nós de T 1 em pré-ordem; Depois, os nós de T 2 em pré-ordem; Assim por diante, até os nós de T k em pré-ordem. n n 1 n 2 n 3 n k n 1 n 2 n 3 n k T 1 T 2 T 3 T k T 1 T 2 T 3 T k Percurso em pré-ordem Artifício manual: anotar o nó ao passar por ele pela primeira vez A B E C F G D H I J K Percurso em pós-ordemp Passos: Primeiramente, os nós de T1 em pós-ordem; Em seguida, os nós de T 2 em pós-ordem; Assim por diante, até os nós de T k em pós-ordem; Por fim, a raiz n de T. n void PreOrdem (node n) { Escrever (n); for (cada filho f de n, da esquerda para a direita) PreOrdem (f); T 1 n 1 T 2 n 2 T 3 n 3 T k n k
10 Percurso em pós-ordemp Artifício manual: anotar o nó ao passar por ele pela última vez, ou seja, ao se dirigir para seu pai. E B F G C I J K H D A Percurso em ordem-central Passos: Primeiramente, os nós de T 1 em ordem-central; Em seguida, a raiz n de T; Por fim, os nós de T 2,..., T k em ordem-central. n void PosOrdem (node n) { for (cada filho f de n, da esquerda para a direita) PosOrdem (f); Escrever (n); T 1 n 1 T 2 n 2 T 3 n 3 T k n k Percurso em ordem-central Fim Artifício manual: anotar um nó folha ao passar por ele pela primeira vez e um nó não-terminal ao passar por ele pela segunda vez. E B A F C G I H J K D void OrdCentral (node n) { if (n é folha) Escrever (n); else { OrdCentral (Filho esquerdo de n); Escrever (n); for (cada filho c de n, exceto o esquerdo, da esquerda para a direita) OrdCentral (c);
CONCEITO DE ÁRVORE CES-11. A raiz é o único nó que não possui ancestrais. As folhas são os nós sem filhos. Exemplos:
Árvores associadas a árvore Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única dimensão. Na sua implementação, as listas ligadas possibilitam maior flexibilidade que os vetores,
Á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
Á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
CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Ideia de Tarjan (1972) Durante a exploração em profundidade de um digrafo, podemos numerar seus vértices de
INE5408 Estruturas de Dados
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento Introdução Árvores são estruturas de dados que
Á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
SUMÁ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
Á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
Á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:
Á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á
Á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
Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.
ADT - Á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
Unidade: Estruturas de Dados Não Lineares. Unidade I:
Unidade: Estruturas de Dados Não Lineares Unidade I: 0 Unidade: Estruturas de Dados Não Lineares 1 - Recursividade Um algoritmo que para resolver um problema divide-o em subproblemas mais simples, cujas
Lista de Figuras Figura 1 1: Figura 1 2: Figura 1 3: Figura 1 4: Figura 1 5: Figura 1 6: Figura 1 7: Figura 2 1: Figura 2 2: Figura 2 3: Figura 2 4:
Lista de Figuras Figura 1 1: Diagrama de Funcionamento do Laço while 34 Figura 1 2: Diagrama de Funcionamento do Laço do-while 35 Figura 1 3: Diagrama de Funcionamento do Laço for 36 Figura 1 4: Diagrama
Árvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Algoritmos 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 [email protected] 1Q-2016 1 Comparação empírica de algoritmos de
Árvores Binárias. 16/11 Representação e Implementação: Encadeada Dinâmica O TAD
Árvores Binárias 16/11 Representação e Implementação: Encadeada Dinâmica O TAD ED AB, encadeada dinâmica Para qualquer árvore, cada nó é do tipo info esq dir typedef int elem; typedef struct arv *Arv;
ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1 (ENADE Computação 2005) No famoso jogo da Torre de Hanói,
Á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,
Á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
PAA-DCC-UFAM. Árvores. Universidade Federal do Amazonas Departamento de Eletrônica e Computação
Árvores Universidade Federal do Amazonas Departamento de Eletrônica e Computação Árvores Árvores são conjuntos cujos elementos guardam uma relação hierarquica entre eles Terminologia (1) A é o nodo raiz.
Grafos - Representação
Grafos - Representação É importante salientar outra diferença relevante entre a representação de matriz de adjacência e a representação ligada de grafos. Na representação de matriz está implícita a possibilidade
Á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 =,
INF1010 Lista de Exercícios 2
INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária
Á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ó
Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Árvores Dados organizados de maneira hierárquica Exemplos: arquivos em diretórios, subdivisão de espaço 2D em um
Matemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti [email protected] - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
Arvores, Percursos não recursivos, Arvores heterogêneas. Aula 19
Arvores, Percursos não recursivos, Arvores heterogêneas Aula 19 Arvores binárias encadeadas Percorrer uma árvore é uma operação muito comum e seria útil encontrar um método mais eficiente para implementar
Á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:
Recursividade. Métodos iterativos. Prof. Cesar Augusto Tacla. Métodos iterativos utilizam estruturas de repetição
Recursividade Prof. Cesar Augusto Tacla Métodos iterativos Métodos iterativos utilizam estruturas de repetição For While Do while Normalmente, um método invoca outros métodos, não a si mesmo. 2 1 Recursividade
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 06 Busca em Profundidade e Busca em Largura Edirlei Soares de Lima Grafos (Revisão) G = (V, A) G: grafo; V: conjunto de vértices; A: conjunto
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador.
1. Selecione a Estrutura de Dados que melhor representa os diretórios ou pastas de arquivos do computador. 1) Fila 2) Pilha 3) Árvore 4) Lista 5) Grafo 2. Selecione a Estrutura de Dados que melhor representa
Teoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Á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
Á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
Estruturas 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)
TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher
TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar
Árvores Binárias e Busca. Jeane Melo
Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto
Análise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22
Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca
DAINF - 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.
26/08/2013. Árvore. Árvore. Árvore. Floresta :: Exemplo. Floresta ÁRVORES
2 ÁRVORES Dado um grafo G G é chamado de árvore caso seja não direcionado, conectado e não possua circuitos simples Matemática Discreta Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento
Estruturas de Dados Aula 16: Árvores com Número Variável 13/06/2011
Estruturas de Dados Aula 16: Árvores com Número Variável de Filhos 13/06/2011 1 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos
Teoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
Á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
INF111 Programação II Aulas 11, 12, 13 Ordenação
INF Programação II Aulas,, Ordenação Departamento de Informática UFV Ordenação A ordenação é o processo de organizar um conunto (vetor) de n obetos ou registros segundo uma determinada ordem crescente
Busca em Largura. Adaptado de Humberto C. B. Oliveira
Busca em Largura Adaptado de Humberto C. B. Oliveira Últimas aulas Introdução: História Aplicações Conceitos Básicos: Grafo simples Grafo completo/vazio Grafo não orientado: Arestas laço Arestas paralelas
LISTA DE EXERCÍCIOS MÊS 04
São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto
Estruturas de Dados e Algoritmos (C/C++) Aula 05 (Prof. Fábio) pag. 1. Aula 05 - Conteúdo
struturas de ados e lgoritmos (/++) ula 05 (Prof. ábio) pag. ula 05 - onteúdo ) Árvores e suas representações ) Árvore inária e suas representações ) Percursos em Árvores inárias ) mplementações dos algoritmos
Estruturas de Dados Pilhas, Filas, Listas
PMR2300 Escola Politécnica da Universidade de São Paulo Introdução Estruturas de dados são objetos que armazenam dados de forma eficiente, oferecendo certos serviços para o usuário (ordenação eficiente
Algoritmos de ordenação Heapsort
Algoritmos de ordenação Heapsort Sumário Introdução A estrutura de dados heap Definição Manutenção da propriedade de heap A construção de um heap O algoritmo heapsort Introdução Características do heapsort
Estruturas de Dados Filas
Estruturas de Dados Filas Roteiro Introdução Definição de Fila (Queue) Aplicações Operações sobre Fila Implementação de Fila Com vetores Com listas encadeadas Exercícios Introdução Estamos acostumados
Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma
Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :
AVALIAÇÃO DE CONHECIMENTO ESPECÍFICO
AVALIAÇÃO DE CONHECIMENTO ESPECÍFICO PROGRAMA DE PÓS- GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 01. Toda arvore binária possui as seguintes propriedades: I. Todos os nós de uma sub- árvore direita são maiores
Listas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC.
Listas de Prioridade Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Capítulo 6 Prioridade } Algumas aplicações precisam recuperar rapidamente um dado
Cap. 2 Conceitos Básicos em Teoria dos Grafos
Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os
Linguagem 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
Filas Exemplo de Aplicação
Filas Exemplo de Aplicação Uma aplicação interessante para filas é a ordenação por distribuição, descrita a seguir. Seja uma lista l composta de n chaves, cada qual representada por um inteiro numa base
Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos
Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante
Árvores e Mapas. Luís Lopes. Estruturas de Dados DCC-FCUP
Árvores e Mapas Luís Lopes DCC-FCUP Estruturas de Dados Estruturas não lineares Os arrays e as listas são exemplos de estruturas de dados lineares, cada elemento tem: um predecessor único (excepto o primeiro
ALGORITMOS E ESTRUTURAS DE DADOS CES-11
ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro [email protected] Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA Revisão CES-11 Tipos escalares primitivos Tipos constituídos
Ciclos hamiltonianos e o problema do caixeiro viajante
Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.
Estruturas de Dados Aula 15: Árvores 17/05/2011
Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo
Radix Sorting. Várias aplicações têm chaves que são inteiros, definidos dentro de um intervalo
Radix Sorting Os registros a serem ordenados podem ter chaves bastante complexas, como por exemplo sequências de caracteres (lista telefônica) o Ordenação via comparação de chaves Várias aplicações têm
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Ordenação por bolha (bubble sort)
HeapSort. Estrutura de Dados II Jairo Francisco de Souza
HeapSort Estrutura de Dados II Jairo Francisco de Souza HeapSort Algoritmo criado por John Williams (1964) Complexidade O(NlogN) no pior e médio caso Mesmo tendo a mesma complexidade no caso médio que
Busca em largura. Algoritmos em Grafos. Marco A L Barbosa
Busca em largura Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Introdução Exemplo de
Algoritmos e Estrutura de Dados III. Árvores
Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas
Á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).
Árvores de Pesquisa (Parte I)
Árvores de Pesquisa (Parte I) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 20 e 21 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa
Exemplo Árvore Binária
Árvores Rohit Gheyi Para entradas realmente grandes, o acesso linear O(n) de listas é proibi9vo Estrutura de dados não linear, cujas operações tem custos em geral O(log n) 1 2 Exemplo Como seria pesquisar
3. Conteúdo de um vértice v é conteúdo dos filhos de v.
Árvore Hierárquica Em inglês é chamada de Heap. Representar: conjunto C de elementos com relação. Operações: Ins x,c (inserir x em C e ExMax C (extrair o máximo do conjunto). Chamado também de Fila de
Algoritmos e Estrutura de Dados Aula 08 Pilhas
Algoritmos e Estrutura de Dados Aula 08 Pilhas Profa. Alana Oliveira e Prof. Davi Viana [email protected] e [email protected] Se não entender, pergunte! Dados e Tipos de Dados Um dado é uma informação
Desenho e Análise de Algoritmos
Desenho e Análise de Algoritmos Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Desenho e Análise de Algoritmos 2014/2015 1 / 13 Informações Gerais Site: http://www.dcc.fc.up.pt/~pribeiro/aulas/daa1415/
EAD Árvore árvore binária
EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore
Análise Sintática (Cap. 04) Análise Sintática Descendente
(Cap. 04) Análise Sintática Descendente Análise Sintática Análise sintática descendente Constrói a árvore de derivação de cima para baixo, da raíz para as folhas, criando os nós da árvore em pré ordem
