Filas de Prioridades Letícia Rodrigues Bueno

Tamanho: px
Começar a partir da página:

Download "Filas de Prioridades Letícia Rodrigues Bueno"

Transcrição

1 Filas de Prioridades Letícia Rodrigues Bueno UFABC

2 Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n;

3 Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n;

4 Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n;

5 Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n;

6 Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n;

7 Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n;

8 Heaps - Aplicações Dois tipos: heap mínimo e heap máximo;

9 Heaps - Aplicações Dois tipos: heap mínimo e heap máximo; Aplicações: implementação de lista de prioridades;

10 Heaps - Aplicações Dois tipos: heap mínimo e heap máximo; Aplicações: implementação de lista de prioridades; Operação Lista Lista não-ordenada Ordenada Heap Seleção O(n) O(1) O(1) Inserção O(1) O(n) O(log n) Remoção O(n) O(1) O(log n) Alteração O(n) O(n) O(log n) Construção O(n) O(n log n) O(n)

11 Métodos Heap: aumentando prioridade Método subir:

12 Métodos Heap: aumentando prioridade Método subir:

13 Métodos Heap: aumentando prioridade Método subir:

14 Métodos Heap: aumentando prioridade Método subir:

15 Métodos Heap: aumentando prioridade Método subir:

16 Métodos Heap: diminuindo prioridade Método descer:

17 Métodos Heap: diminuindo prioridade Método descer:

18 Métodos Heap: diminuindo prioridade Método descer:

19 Métodos Heap: diminuindo prioridade Método descer:

20 Métodos Heap: diminuindo prioridade Método descer:

21 1 subir(i): 2 j = i/2 3 se j 1 então 4 se T[i] > T[j] então 5 T[i] T[j] 6 subir(j) Métodos Heap 1 descer(i, n): 2 j = 2 i 3 se j n então 4 se j < n então 4 se T[j + 1] > T[j] então 5 j = j se T[i] < T[j] então 7 T[i] T[j] 8 descer(j, n)

22 Métodos Heap 1 subir(i): 2 j = i/2 3 se j 1 então 4 se T[i] > T[j] então 5 T[i] T[j] 6 subir(j) Análise da complexidade: 1 descer(i, n): 2 j = 2 i 3 se j n então 4 se j < n então 4 se T[j + 1] > T[j] então 5 j = j se T[i] < T[j] então 7 T[i] T[j] 8 descer(j, n)

23 Métodos Heap 1 subir(i): 2 j = i/2 3 se j 1 então 4 se T[i] > T[j] então 5 T[i] T[j] 6 subir(j) 1 descer(i, n): 2 j = 2 i 3 se j n então 4 se j < n então 4 se T[j + 1] > T[j] então 5 j = j se T[i] < T[j] então 7 T[i] T[j] 8 descer(j, n) Análise da complexidade: Subir: percurso de caminho em árvore binária completa;

24 Métodos Heap 1 subir(i): 2 j = i/2 3 se j 1 então 4 se T[i] > T[j] então 5 T[i] T[j] 6 subir(j) 1 descer(i, n): 2 j = 2 i 3 se j n então 4 se j < n então 4 se T[j + 1] > T[j] então 5 j = j se T[i] < T[j] então 7 T[i] T[j] 8 descer(j, n) Análise da complexidade: Subir: percurso de caminho em árvore binária completa; Descer: percurso de caminho em árvore binária completa;

25 Métodos Heap 1 subir(i): 2 j = i/2 3 se j 1 então 4 se T[i] > T[j] então 5 T[i] T[j] 6 subir(j) 1 descer(i, n): 2 j = 2 i 3 se j n então 4 se j < n então 4 se T[j + 1] > T[j] então 5 j = j se T[i] < T[j] então 7 T[i] T[j] 8 descer(j, n) Análise da complexidade: Subir: percurso de caminho em árvore binária completa; Descer: percurso de caminho em árvore binária completa; Complexidade: O(log n)

26 Métodos Heap: inserir, remover e construir

27 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade:

28 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade: O(log n);

29 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade: O(log n); Remover: remove posição 1, coloca chave n em 1 e aplica método descer(). Complexidade:

30 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade: O(log n); Remover: remove posição 1, coloca chave n em 1 e aplica método descer(). Complexidade: O(log n);

31 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade: O(log n); Remover: remove posição 1, coloca chave n em 1 e aplica método descer(). Complexidade: O(log n); Construção: para i = n/2 até 1 aplique descer(i, n).

32 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade: O(log n); Remover: remove posição 1, coloca chave n em 1 e aplica método descer(). Complexidade: O(log n); Construção: para i = n/2 até 1 aplique descer(i, n). Complexidade:

33 Métodos Heap: inserir, remover e construir Inserir: insere em n+1 e aplica subir(). Complexidade: O(log n); Remover: remove posição 1, coloca chave n em 1 e aplica método descer(). Complexidade: O(log n); Construção: para i = n/2 até 1 aplique descer(i, n). Complexidade: O(n); folhas

34 Exercícios 1. Escreva uma função que decida se um vetor V[1...n] é um heap.

35 Exercícios 1. Escreva uma função que decida se um vetor V[1...n] é um heap. 2. O que você acha de ordenarmos um vetor em ordem decrescente com o objetivo de transformá-lo em um heap?

36 Bibliografia Utilizada CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L. e STEIN, C. Introduction to Algorithms, 3 a edição, MIT Press, SZWARCFITER, J. L. e MARKENZON, L. Estruturas de Dados e seus Algoritmos, LTC, ZIVIANI, N. Projeto de Algoritmos: com implementações em Pascal e C, 2 a edição, Cengage Learning, 2009.

Heapsort Letícia Rodrigues Bueno

Heapsort Letícia Rodrigues Bueno Heapsort Letícia Rodrigues Bueno UFABC Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n; Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i

Leia mais

Compactação de Dados Letícia Rodrigues Bueno

Compactação de Dados Letícia Rodrigues Bueno Compactação de Dados Letícia Rodrigues Bueno UFABC Compactação de Dados: Introdução Objetivo: Compactação de Dados: Introdução Compactação de Dados: Introdução Objetivo: 1. minimizar espaço de memória

Leia mais

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. 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

Leia mais

Quicksort Letícia Rodrigues Bueno

Quicksort Letícia Rodrigues Bueno Quicksort Letícia Rodrigues Bueno UFABC Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição:

Leia mais

Notação Assintótica Letícia Rodrigues Bueno

Notação Assintótica Letícia Rodrigues Bueno Notação Assintótica Letícia Rodrigues Bueno Notação Assintótica Para valores suficientemente pequenos de n, qualquer algoritmo custa pouco para ser executado, mesmo os algoritmos ineficientes; Notação

Leia mais

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Complexidade Assintótica de Programas Letícia Rodrigues Bueno Complexidade Assintótica de Programas Letícia Rodrigues Bueno Análise de Algoritmos 1. Introdução; Análise de Algoritmos 1. Introdução; 2. Conceitos básicos; Análise de Algoritmos 1. Introdução; 2. Conceitos

Leia mais

Aula 28: Listas de Prioridades

Aula 28: Listas de Prioridades 28.1 Aula 28: Listas de Prioridades Conceitos básicos Definição de heap Alteração de prioridades 28.2 Listas de Prioridades Motivação: Os dados possuem prioridades. A prioridade de um dado pode variar

Leia mais

Algoritmos em Grafos: Caminho Mínimo

Algoritmos em Grafos: Caminho Mínimo Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre

Leia mais

Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno

Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno Introdução Objetivo: possibilitar medir eficiência de algoritmos; Introdução Objetivo: possibilitar medir eficiência de

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and

Leia mais

ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES

ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES Listas de Prioridades! Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade! A prioridade associada a um dado pode

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Universidade do Estado do Amazonas Escola Superior de Tecnologia - EST Núcleo de Computação Algoritmos e Estruturas de Dados I Listas com implementação dinâmica Prof. Flávio José M. Coelho fcoelho@uea.edu.br

Leia mais

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual

Leia mais

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno UFABC Estruturas de Dados para Conjuntos Disjuntos: Introdução Estruturas de Dados para Conjuntos Disjuntos: Introdução

Leia mais

Abordagens para Problemas Intratáveis

Abordagens para Problemas Intratáveis Abordagens para Problemas Intratáveis Letícia Rodrigues Bueno UFABC Motivação Se você se depara com um problema intratável... Motivação Se você se depara com um problema intratável... I can t find an efficient

Leia mais

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades Programa de Pós-graduação em Sistemas de Informação (PPgSI)

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 12/09/16 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.1 1 uma outra aplicação de árvores binárias lista de prioridades: lista

Leia mais

Grafos Árvores Geradoras Mínimas

Grafos Árvores Geradoras Mínimas ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Árvores Geradoras Mínimas Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo

Leia mais

Ordenação: Heapsort. Algoritmos e Estruturas de Dados II

Ordenação: Heapsort. Algoritmos e Estruturas de Dados II Ordenação: Heapsort Algoritmos e Estruturas de Dados II Introdução Possui o mesmo princípio de funcionamento da ordenação por seleção Selecione o menor item do vetor Troque-o pelo item da primeira posição

Leia mais

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8 Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente

Leia mais

Algoritmo de Dijkstra Estudo e Implementação

Algoritmo de Dijkstra Estudo e Implementação Teoria dos Grafos 0/0 Algoritmo de Dijkstra Estudo e Implementação Professora: Claudia Boeres Alunos: José Alexandre Macedo Maycon Maia Vitali Problema do Caminho Mínimo Qual o caminho mínimo entre um

Leia mais

Ordenação: HeapSort. Prof. Túlio Toffolo BCC202 Aula 17 Algoritmos e Estruturas de Dados I

Ordenação: HeapSort. Prof. Túlio Toffolo   BCC202 Aula 17 Algoritmos e Estruturas de Dados I 2014-01 Aula 16 Fila de Prioridade / HeapSort Adaptado por Reinaldo Fortes para o curso de 2014-01 Arquivo original: Aula 17: HeapSort Ordenação: HeapSort Prof. Túlio Toffolo http://www.toffolo.com.br

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 Á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

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos Programa Analítico de Disciplina Campus Rio Paranaíba - Campus Rio Paranaíba Número de créditos: 6 Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 4 2 6 Períodos - oferecimento: II

Leia mais

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco. MC3305 Algoritmos e Estruturas de Dados II Aula 00 Apresentação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da

Leia mais

Teoria dos Grafos Aula 8

Teoria dos Grafos Aula 8 Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e implementação de alg. de Dijkstra Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente

Leia mais

Heaps. 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 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

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno

Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno Caminho Mínimo de Fonte Única em Grafos com Pesos Negativos Letícia Rodrigues Bueno UFABC Problemas de Caminho Mínimo Caminho mínimo de fonte única: algoritmo de Dijsktra; Problemas de Caminho Mínimo Caminho

Leia mais

B-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. 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

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015

Tabela Hash. Disciplina de Algoritmos e Estrutura de Dados III. Prof. Marcos Antonio Schreiner 15/05/2015 Tabela Hash Disciplina de Algoritmos e Estrutura de Dados III Prof. Marcos Antonio Schreiner 15/05/2015 Introdução Seja um conjunto de chaves armazenadas em um vetor e em uma árvore AVL. Qual a complexidade

Leia mais

Web site. Profa. Patrícia Dockhorn Costa.

Web site.  Profa. Patrícia Dockhorn Costa. Estruturas de Dados Aula 1: Introdução e conceitos básicos Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Monitoria: Alexandro alexandrosouzaramos@gmail.com

Leia mais

ESTRUTURA DE DADOS DCC013

ESTRUTURA DE DADOS DCC013 ESTRUTURA DE DADOS DCC013 1 o sem./2018 Professor: Itamar Leite de Oliveira itamar.leite@ufjf.edu.br Professor: Bernardo Martins Rocha bernardomartinsrocha@ice.ufjf.br Total de Créditos: 4 Turma: A Pré-requisitos:

Leia mais

Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort)

Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Hebert Coelho e Nádia Félix Ordenação É a operação de rearranjar os dados em uma determinada ordem. Problema da ordenação - Definição formal

Leia mais

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Á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 mais

Grafos Caminhos mais Curtos

Grafos Caminhos mais Curtos ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Caminhos mais Curtos Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo Basta,

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo

Leia mais

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Introdução O que são estruturas

Leia mais

Algoritmos e Estruturas de Dados 2006/2007

Algoritmos e Estruturas de Dados 2006/2007 Filas de prioridade Algoritmos e Estruturas de Dados 2006/2007 Filas de prioridade Uma fila de prioridade permite, pelo menos, duas operações sobre um conjunto de valores comparáveis: inserção de um elemento

Leia mais

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina Estrutura de Dados Plano de Ensino Vilson Heck Junior Instituto Federal de Santa Catarina Campus Lages Sumário 1 Sumário 2 Plano de Ensino Competências, Habilidades e Atitudes Bases Tecnológicas Instrumentos

Leia mais

Lista de Prioridades. Estrutura de Dados II Prof. Erinaldo

Lista de Prioridades. Estrutura de Dados II Prof. Erinaldo Lista de Prioridades Estrutura de Dados II Prof. Erinaldo Heap Ou lista de prioridades, é composta por um conjunto finito de dados, cada qual com uma chave que determinará sua prioridade dentro da lista.

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019 1. Unidade Orgânica Instituto de Engenharia e Tecnologias (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos

Leia mais

Busca em Largura Letícia Rodrigues Bueno

Busca em Largura Letícia Rodrigues Bueno Busca em Largura Letícia Rodrigues Bueno UFABC Número de Erdõs - Equivalente Nerd do Número de Bacon :) Paul Erdõs: famoso matemático hungáro; Trabalhou com centenas de colaboradores; Publicou mais de

Leia mais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária 5COP096 Teoria da Computação Aula 8 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Primária 2) Pesquisa Sequencial 3) Pesquisa Binária 4) Árvore

Leia mais

Informações Importantes! INF TURMA A

Informações Importantes! INF TURMA A UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

Heapsort ordenação por árvore de seleção

Heapsort ordenação por árvore de seleção UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA ordenação por árvore de seleção Prof. Yandre Maldonado - Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - Métodos de ordenação

Leia mais

Algoritmos de Ordenação: HeapSort

Algoritmos 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 mais

PLANO DE ENSINO DE ALGORITMOS

PLANO DE ENSINO DE ALGORITMOS PLANO DE ENSINO DE ALGORITMOS Fagner Coloia, Cristiano Melo Curso de Licenciatura em Computação - Universidade Federal Rural de Pernambuco (UFRPE) Av. Dom Manoel de Medeiros, S/N - Dois Irmãos, CEP 52.171-030

Leia mais

Estruturas de Dados. Árvores AVL: Partes I e II. Desempenho de ABBs (Revisão)

Estruturas de Dados. Árvores AVL: Partes I e II. Desempenho de ABBs (Revisão) Estruturas de Dados Árvores AVL: Partes I e II Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich

Leia mais

Estruturas de Dados Apresentação da Disciplina

Estruturas de Dados Apresentação da Disciplina Estruturas de Dados Apresentação da Disciplina Prof. Alessandro Borges Tópicos Cabeçalho Ementa Objetivos Conteúdo Programático Estratégias de Ensino Sistema de Avaliação Bibliografia Cabeçalho CURSO:

Leia mais

Filas de Prioridade & Heaps

Filas de Prioridade & Heaps Filas de Prioridade & 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 mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

Heapsort ordenação por árvore de seleção

Heapsort ordenação por árvore de seleção UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Heapsort ordenação por árvore de seleção Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Métodos

Leia mais

Planejamento da Disciplina

Planejamento da Disciplina Planejamento da Disciplina Huei Diana Lee Fabiana F. F. Peres Algoritmos e Estruturas de Dados 2007 Conteúdo Conteúdo Programático Bibliografia Provas Critério de Avaliação... Conteúdo Programático I 1.

Leia mais

Dicionários. TAD Orientado a conteúdo

Dicionários. TAD Orientado a conteúdo Dicionários TAD Orientado a conteúdo Dicionários efinição: Tipo abstrato de dados orientado a onteúdo. Contrasta com as PILHAs e FILAs que são orientadas a posição. perações implementadas: Inserir(d,x)

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Complexidade de Algoritmos Envolvendo Estruturas de Dados Elementares Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Vetor

Leia mais

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro

Busca em Profundidade. Componentes Conexos. Grafos. Maria Adriana Vidigal de Lima. Fevereiro Fevereiro - 009 Definição de Grafo Listas de Adjacências de Técnicas da Classificação das Arestas Aplicação do de de 4 Grafo Transposto Definição de Grafo Listas de Adjacências de Exemplos de Aplicação

Leia mais

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem

Leia mais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018 Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos

Leia mais

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP096 Teoria da Computação Aula 9 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Secundária 2) Modelo de Computação para Memória Secundária

Leia mais

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello

Estruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello Estruturas de Dados Grafos VIII: Árvores Geradoras Mínimas Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww.datastructures.net

Leia mais

Aula 13: Ordenação - Heapsort. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Aula 13: Ordenação - Heapsort. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Aula 13: Ordenação - Heapsort Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Filas de Prioridades É uma estrutura de dados onde a chave de cada item reflete sua habilidade relativa de abandonar

Leia mais

HeapSort Filas de Prioridade Heap. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

HeapSort Filas de Prioridade Heap. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR HeapSort Filas de Prioridade Heap David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Filas de Prioridades É uma estrutura de dados onde a chave de cada item reflete sua habilidade relativa de

Leia mais

Classificação e Pesquisa

Classificação e Pesquisa Classificação e Pesquisa Pesquisa de Dados - Seqüencial - Binária Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde Estamos Ementa Pesquisa de Dados Seqüencial Binária

Leia mais

Árvores AVL e Árvores B. Jeane Melo

Á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 mais

CES-11. Algoritmos e Estruturas de Dados. Representação. A estrutura heap. Heap é uma árvore binária com duas propriedades:

CES-11. Algoritmos e Estruturas de Dados. Representação. A estrutura heap. Heap é uma árvore binária com duas propriedades: Algoritmos de Ordenação Heap Algoritmos e Estruturas de Dados Filas de Prioridade HeapSort Carlos Alberto Alonso Sances Juliana de Melo Bezerra A estrutura eap Heap é uma árvore binária com duas propriedades:

Leia mais

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 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 Alocação sequencial Listas lineares,

Leia mais

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO:

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS HEAP BINÁRIA

ESTRUTURAS DE DADOS E ALGORITMOS HEAP BINÁRIA ESTRUTURAS DE DADOS E ALGORITMOS 1 HEAP BINÁRIA Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande HEAP BINÁRIA É uma árvore binária satisfazendo duas propriedades:

Leia mais

SCC-501 Introdução à Ciência de Computação II

SCC-501 Introdução à Ciência de Computação II SCC-501 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2011 João

Leia mais

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

ESTRUTURA 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

1 a Lista de Exercícios

1 a Lista de Exercícios Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Programa de Pós-Graduação em Ciência da Computação Projeto e Análise de Algoritmos - 1 o semestre de 2010 Professor: David Menotti

Leia mais

ESTRUTURA DE DADOS CIÊNCIA E TECNOLOGIA DO RIO. Curso de Tecnologia em Sistemas para Internet

ESTRUTURA DE DADOS CIÊNCIA E TECNOLOGIA DO RIO. Curso de Tecnologia em Sistemas para Internet INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ESTRUTURA DE DADOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia

Leia mais

Algoritmos 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. / 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 mais

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina SCC0502 Algoritmos e Estruturas de Dados I Profa. Maria Cristina Sobre a disciplina Essencial! Fundamentos da área Core da Computação Sobre a disciplina Essencial! Fundamentos da área Core da Computação

Leia mais

Teoria da Computação. Aula 3 Comportamento Assintótico 5COP096. Aula 3 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Teoria da Computação. Aula 3 Comportamento Assintótico 5COP096. Aula 3 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP096 Teoria da Computação Aula 3 Prof. Dr. Sylvio Barbon Junior 1 Sumário 1) Exercícios Medida de Tempo de Execução. 2) Comportamento Assintótico de Funções. 3) Exercícios sobre Comportamento Assintótico

Leia mais

ESTRUTURA DE DADOS DCC013. Árvore Binária de Busca

ESTRUTURA 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 mais

Algoritmos para Automação e Sistemas

Algoritmos para Automação e Sistemas Universidade Federal do Amazonas Departamento de Eletrônica e Computação Algoritmos para Automação e Sistemas Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Estes slides estão baseados livro do

Leia mais

Árvores Auto-ajustadas

Árvores Auto-ajustadas Árvores Árvores Auto-ajustadas As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. A velocidade das operações de inserção, remoção e busca realizadas sobre as árvores é mais

Leia mais

Filas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014

Filas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014 Filas de prioridade Marcelo K. Albertini de Novembro de / Filas de prioridade O que é uma fila de prioridade? Estrutura de dados que generaliza a ideia de ordenação. Coleções de elementos: inserir e remover

Leia mais

If969 - Algoritmos e Estruturas de Dados

If969 - Algoritmos e Estruturas de Dados If969 - Algoritmos e Estruturas de Dados Centro de Informá-ca Universidade Federal de Pernambuco Sistemas de Informação Vinicius Cardoso Garcia vcg@cin.ufpe.br Missão Mo-var, apresentar, exercitar e consolidar

Leia mais

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA 3 a ETAPA exclusivo de curso (X) Eixo Comum ( ) Eixo Universal () ORGANIZAÇÃO DE COMPUTADORES ( 02 ) Laboratório TECNOLOGIA E INFRA Estudo da organização funcional de computadores, com destaque para a

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos 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 08/2008 Material baseado

Leia mais

FORMULÁRIO PARA CRIAÇÃO E/OU REGULAMENTAÇÃO DE DISCIPLINA

FORMULÁRIO PARA CRIAÇÃO E/OU REGULAMENTAÇÃO DE DISCIPLINA UNIVERSIDADE FEDERAL DO CEARÁ CAMPUS DE RUSSAS SELEÇÃO DE BOLSISTA DE INICIAÇÃO À DOCÊNCIA EDITAL Nº 02/2018 PROJETO LABORATÓRIO DE ESTRUTURA DE DADOS - LED FORMULÁRIO PARA CRIAÇÃO E/OU REGULAMENTAÇÃO

Leia mais

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Fatorial de 0 = 1 Recursividade 1 Recursividade

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

não descobertos descobertos explorados descoberta cruzamento

não descobertos descobertos explorados descoberta cruzamento Algoritmos e Estruturas de Dados II Organização Definição e Motivação Algoritmo BFS Pseudo-código Implementação simples em C Grafos III: Ricardo J. G. B. Campello Parte deste material é baseado em adaptações

Leia mais

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro Estruturas de Dados Filas de Prioridade Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia).

Leia mais

EDUARDO DA SILVA SARDÃO 0981/00-4 IGOR RODRIGO MACHADO DE MENEZES 1422/98-1 TRABALHO FINAL ÁRVORES B+

EDUARDO DA SILVA SARDÃO 0981/00-4 IGOR RODRIGO MACHADO DE MENEZES 1422/98-1 TRABALHO FINAL ÁRVORES B+ 1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA - CIÊNCIA DA COMPUTAÇÃO DEPARTAMENTO DE INFORMÁTICA APLICADA CLASSIFICAÇÃO E PESQUISA DE DADOS INF01124 EDUARDO DA SILVA SARDÃO 0981/00-4

Leia mais

AED Algoritmos e Estruturas de Dados LEE /2004

AED Algoritmos e Estruturas de Dados LEE /2004 AED Algoritmos e Estruturas de Dados LEE - 2003/2004 http://web.tagus.ist.utl.pt/~ana.freitas/aed Algoritmos e Estruturas de Dados Disciplina de base da área científica de Metodologia e Tecnologia da Programação

Leia mais

Árvores Binárias de Busca (ABB) 18/11

Á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 mais

Árvores de Suporte de Custo Mínimo

Árvores de Suporte de Custo Mínimo Árvores de Suporte de Custo Mínimo Pedro Ribeiro DCC/FCUP 2016/2017 Pedro Ribeiro (DCC/FCUP) Árvores de Suporte de Custo Mínimo 2016/2017 1 / 28 Árvore de Suporte Uma árvore de suporte ou árvore de extensão

Leia mais

Busca em vetores. Para encontrar um elemento em um vetor desordenado é caro Porém, inserir ou remover é barato.

Busca em vetores. Para encontrar um elemento em um vetor desordenado é caro Porém, inserir ou remover é barato. Busca em vetores Para encontrar um elemento em um vetor desordenado é caro Porém, inserir ou remover é barato. Busca em vetores Quando especificamos uma propriedade que garanta alguma organização, isto

Leia mais

SCC-201 Introdução à Ciência de Computação II

SCC-201 Introdução à Ciência de Computação II SCC-201 João Luís Garcia Rosa 1 Ricardo J. G. B. Campello 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br

Leia mais

SCC0502 Algoritmos e Estruturas de Dados I

SCC0502 Algoritmos e Estruturas de Dados I SCC0502 Algoritmos e Estruturas de Dados I Profa. Maria Cristina Assistente: Jorge 2º. 2014 Sobre a disciplina Essencial! Fundamentos da área Core da Computação Sobre a disciplina Essencial! Fundamentos

Leia mais

Estrutura de Dados. ! Listas lineares. ! Como manipulá-las: ! estática. ! dinâmicas. ! pilhas. ! filas

Estrutura de Dados. ! Listas lineares. ! Como manipulá-las: ! estática. ! dinâmicas. ! pilhas. ! filas Estrutura de Dados! Listas lineares! estática! dinâmicas! Como manipulá-las:! pilhas! filas 1 Listas Lineares! fácil manipulação! agrupa informações referentes a um conjunto de elementos que se relacionam

Leia mais

Ordenação e Pesquisa de Dados. Aula 07 Insertion Sort e Bubble Sort

Ordenação e Pesquisa de Dados. Aula 07 Insertion Sort e Bubble Sort Ordenação e Pesquisa de Dados Aula 07 Insertion Sort e Bubble Sort Felipe S. L. G. Duarte felipelageduarte+fatece@gmail.com Algoritmos de Ordenação A partir de agora iremos estudar os seguintes algoritmos

Leia mais

Árvores binárias de busca

Á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 mais