Análise de Algoritmos

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

Download "Análise de Algoritmos"

Transcrição

1 Algoritmos p. 1/18 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina.

2 Algoritmos p. 2/18 Análise amortizada CLRS 17

3 Algoritmos p. 3/18 Análise amortizada Serve para analisar uma sequência de operações ou iterações onde o pior caso individual não reflete o pior caso da sequência. Em outras palavras, serve para melhorar análises de pior caso que baseiem-se diretamente no pior caso de uma operação/iteração e que deem uma delimitação frouxa para o tempo de pior caso da sequência. Métodos: agregado por créditos potencial

4 Algoritmos p. 4/18 Odômetro binário Considere um contador binário, inicialmente zerado, representado em um vetor A[0..n 1], onde cada A[i] vale 0 ou 1. Operação: incrementa. INCREMENTA (A, n) 1 i 0 2 enquanto i < n e A[i] = 1 faça 3 A[i] 0 4 i i+1 5 se i < n 6 então A[i] 1 Consumo de tempo no pior caso: Θ(n)

5 Algoritmos p. 5/18 Odômetro binário Considere um contador binário, inicialmente zerado, representado em um vetor A[0..n 1], onde cada A[i] vale 0 ou 1. Operação: INCREMENTA. Consumo de tempo no pior caso: Θ(n). O odômetro dá uma volta completa a cada 2 n execuções do INCREMENTA. Quanto tempo leva para o odômetro dar uma volta completa? Leva O(n2 n ). Será que é Θ(n2 n )?

6 Odômetro binário i Algoritmos p. 6/18

7 Odômetro binário i Algoritmos p. 7/18

8 Algoritmos p. 8/18 Método agregado Custo da volta completa é proporcional ao número de vezes que os bits são alterados. bit 0 muda 2 n vezes bit 1 muda 2 n 1 vezes bit 2 muda 2 n 2 vezes bit n 2 muda 4 vezes bit n 1 muda 2 vezes Total de alterações de bits: n i=1 2i < 2 2 n. Custo da volta completa: Θ(2 n ). Custo amortizado por INCREMENTA: Θ(1).

9 Algoritmos p. 9/18 Análise por créditos Atribuímos um número fixo de créditos por operação INCREMENTA de modo a pagar por toda alteração de bit. Objetivo: atribuir o menor número possível de créditos que seja ainda suficiente para pagar por todas as alterações. Relembre... INCREMENTA (A, n) 1 i 0 2 enquanto i < n e A[i] = 1 faça 3 A[i] 0 5 i i+1 6 se i < n 7 então A[i] 1

10 Algoritmos p. 10/18 Análise por créditos Atribuímos 2 créditos por INCREMENTA. INCREMENTA (A, n) 1 i 0 2 enquanto i < n e A[i] = 1 faça 3 A[i] 0 4 i i+1 5 se i < n 6 então A[i] 1 Um é usado para pagar pela alteração da linha 6. O outro fica armazenado sobre o bit alterado na linha 6. Há um crédito armazenado sobre cada bit que vale 1. Alterações da linha 3 são pagas por créditos armazenados por chamadas anteriores do INCREMENTA.

11 Algoritmos p. 11/18 Análise por créditos Atribuímos 2 créditos por INCREMENTA. INCREMENTA (A, n) 1 i 0 2 enquanto i < n e A[i] = 1 faça 3 A[i] 0 4 i i+1 5 se i < n 6 então A[i] 1 Um é usado para pagar pela alteração da linha 6. O outro fica armazenado sobre o bit alterado na linha 6. O número de créditos armazenados em cada instante é o número de bits que valem 1, logo é sempre não negativo. Custo amortizado por INCREMENTA: 2

12 Algoritmos p. 12/18 Método do potencial Seja φ(a) o número de bits que valem 1 em A[0..n 1]. Seja A i o estado do contador A após o i-ésimo INCREMENTA. Note que φ(a 0 ) = 0 e φ(a i ) 0. Seja c i o número de bits alterados no i-ésimo INCREMENTA. Note que c i 1+t i onde t i é o número de bits 1 consecutivos no final do contador A. Note que φ(a i ) φ(a i 1 ) 1 t i. Seja ĉ i = c i +φ(a i ) φ(a i 1 ) (1+t i )+(1 t i ) = 2.

13 Algoritmos p. 13/18 Método do potencial Seja φ(a) o número de bits que valem 1 em A[0..n 1]. Seja A i o estado do contador A após o i-ésimo INCREMENTA. Temos que φ(a 0 ) = 0 e φ(a i ) 0. Seja c i o número de bits alterados no i-ésimo INCREMENTA e t i é o número de bits 1 consecutivos no final do contador A. Temos que c i 1+t i. Seja ĉ i = c i +φ(a i ) φ(a i 1 ) (1+t i )+(1 t i ) = 2. Então o custo da volta completa é c = 2 n c i = 2 n ĉ i +φ(a 0 ) φ(a 2 n) 2 n ĉ i 2 2 n. i=1 i=1 i=1 Custo amortizado por INCREMENTA: 2 (valor do ĉ i )

14 Algoritmos p. 14/18 Outro exemplo: pilha Operações básicas: empilha, desempilha.

15 Algoritmos p. 14/18 Outro exemplo: pilha Operações básicas: empilha, desempilha. OP: operação única de acesso

16 Algoritmos p. 14/18 Outro exemplo: pilha Operações básicas: empilha, desempilha. OP: operação única de acesso OP (n) 1 exige que a pilha tenha n elementos 2 desempilhe n itens da pilha 3 empilhe um item na pilha

17 Algoritmos p. 14/18 Outro exemplo: pilha Operações básicas: empilha, desempilha. OP: operação única de acesso OP (n) 1 exige que a pilha tenha n elementos 2 desempilhe n itens da pilha 3 empilhe um item na pilha Consumo de tempo de OP(n) é Θ(n).

18 Algoritmos p. 14/18 Outro exemplo: pilha Operações básicas: empilha, desempilha. OP: operação única de acesso OP (n) 1 exige que a pilha tenha n elementos 2 desempilhe n itens da pilha 3 empilhe um item na pilha Consumo de tempo de OP(n) é Θ(n). Sequência de m operações OP. Consumo de tempo de uma operação no pior caso: Θ(m).

19 Algoritmos p. 14/18 Outro exemplo: pilha Operações básicas: empilha, desempilha. OP: operação única de acesso OP (n) 1 exige que a pilha tenha n elementos 2 desempilhe n itens da pilha 3 empilhe um item na pilha Consumo de tempo de OP(n) é Θ(n). Sequência de m operações OP. Consumo de tempo de uma operação no pior caso: Θ(m). Qual o consumo total das m operações no pior caso?

20 Algoritmos p. 15/18 Outro exemplo: pilha Consumo de tempo de uma operação no pior caso: Θ(m). Qual o consumo das m operações no pior caso? Θ(m 2 )?

21 Algoritmos p. 15/18 Outro exemplo: pilha Consumo de tempo de uma operação no pior caso: Θ(m). Qual o consumo das m operações no pior caso? Θ(m 2 )? Em aula... análise por créditos Quantos créditos damos para cada chamada de OP?

22 Algoritmos p. 15/18 Outro exemplo: pilha Consumo de tempo de uma operação no pior caso: Θ(m). Qual o consumo das m operações no pior caso? Θ(m 2 )? Em aula... análise por créditos Quantos créditos damos para cada chamada de OP? análise por função potencial Qual seria uma boa função potencial neste caso?

23 Algoritmos p. 16/18 Tabelas dinâmicas Vetor que sofre inserções. Cada inserção custa 1.

24 Algoritmos p. 16/18 Tabelas dinâmicas Vetor que sofre inserções. Cada inserção custa 1. Inicialmente o vetor tem 0 posições.

25 Algoritmos p. 16/18 Tabelas dinâmicas Vetor que sofre inserções. Cada inserção custa 1. Inicialmente o vetor tem 0 posições. Na primeira inserção, um vetor com uma posição é alocado, e o item em questão é inserido.

26 Algoritmos p. 16/18 Tabelas dinâmicas Vetor que sofre inserções. Cada inserção custa 1. Inicialmente o vetor tem 0 posições. Na primeira inserção, um vetor com uma posição é alocado, e o item em questão é inserido. A cada inserção em que o vetor está cheio, antes da inserção propriamente dita, um vetor do dobro do tamanho é alocado, o vetor anterior é copiado para o novo vetor e depois é desalocado.

27 Algoritmos p. 16/18 Tabelas dinâmicas Vetor que sofre inserções. Cada inserção custa 1. Inicialmente o vetor tem 0 posições. Na primeira inserção, um vetor com uma posição é alocado, e o item em questão é inserido. A cada inserção em que o vetor está cheio, antes da inserção propriamente dita, um vetor do dobro do tamanho é alocado, o vetor anterior é copiado para o novo vetor e depois é desalocado. O custo no pior caso de uma inserção é alto, pois pode haver uma realocação.

28 Algoritmos p. 17/18 Tabelas dinâmicas Para i = 0,1,2,...,n 1, { 1 se i não é potência de 2 c i = i+1 se i é potência de 2

29 Algoritmos p. 17/18 Tabelas dinâmicas Para i = 0,1,2,...,n 1, { 1 se i não é potência de 2 c i = i+1 se i é potência de 2 Método agregado: n 1 i=0 onde k = lgn. c i = n+( k )

30 Algoritmos p. 17/18 Tabelas dinâmicas Para i = 0,1,2,...,n 1, { 1 se i não é potência de 2 c i = i+1 se i é potência de 2 Método agregado: n 1 i=0 onde k = lgn. c i = n+( k ) Logo n 1 i=0 c i = n+2 k+1 1 n+2n 1 < 3n.

31 Algoritmos p. 17/18 Tabelas dinâmicas Para i = 0,1,2,...,n 1, { 1 se i não é potência de 2 c i = i+1 se i é potência de 2 Método agregado: n 1 i=0 onde k = lgn. c i = n+( k ) Logo n 1 i=0 c i = n+2 k+1 1 n+2n 1 < 3n. Custo amortizado por inserção: 3

32 Algoritmos p. 18/18 Análise por créditos Chame de velho um item que já estava no vetor no momento da última realocação do vetor, e de novos os itens inseridos após a última realocação.

33 Algoritmos p. 18/18 Análise por créditos Chame de velho um item que já estava no vetor no momento da última realocação do vetor, e de novos os itens inseridos após a última realocação. Atribuímos 3 créditos por inserção: um é usado para pagar pela inserção do item, os outros dois são armazenados sobre o item.

34 Algoritmos p. 18/18 Análise por créditos Chame de velho um item que já estava no vetor no momento da última realocação do vetor, e de novos os itens inseridos após a última realocação. Atribuímos 3 créditos por inserção: um é usado para pagar pela inserção do item, os outros dois são armazenados sobre o item. Ao ocorrer uma realocação, há 2 créditos sobre cada item novo no vetor, e isso é suficiente para pagar pela cópia de todos os itens do vetor para o novo vetor pois, quando o vetor está cheio, há um item novo para cada item velho.

35 Algoritmos p. 18/18 Análise por créditos Chame de velho um item que já estava no vetor no momento da última realocação do vetor, e de novos os itens inseridos após a última realocação. Atribuímos 3 créditos por inserção: um é usado para pagar pela inserção do item, os outros dois são armazenados sobre o item. Ao ocorrer uma realocação, há 2 créditos sobre cada item novo no vetor, e isso é suficiente para pagar pela cópia de todos os itens do vetor para o novo vetor pois, quando o vetor está cheio, há um item novo para cada item velho. Em outras palavras, o segundo crédito paga a cópia do item na primeira realocação que acontecer após a sua inserção, e o terceiro crédito paga a cópia de um item velho nesta mesma realocação.

Análise amortizada CLRS 17. Algoritmos p. 1

Análise amortizada CLRS 17. Algoritmos p. 1 Análise amortizada CLRS 17 Algoritmos p. 1 Análise amortizada Serve para analisar uma sequência de operações ou iterações onde o pior caso individual não reflete o pior caso da sequência. Em outras palavras,

Leia mais

AULA 20. Algoritmos p.725/759

AULA 20. Algoritmos p.725/759 AULA 20 Algoritmos p.725/759 Mais análise amortizada CLR 18 ou CLRS 17 Algoritmos p.726/759 Análise amortizada Análise amortizada = análise do consumo de tempo de uma seqüência de operações Usada nos casos

Leia mais

Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio

Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio Aula 03: Análise de algoritmos melhor caso, pior caso e caso médio David Déharbe Programa de Pós-graduação em Sistemas e Computação Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas

Leia mais

Análise de Algoritmos

Análise de Algoritmos Algoritmos p. 1/25 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 2/25 Ordenação em tempo linear CLRS cap 8 Algoritmos

Leia mais

Análise Amortizada. Exemplo: Tabelas dinâmicas. Resulta da análise de uma sequência de operações numa estrutura de dados.

Análise Amortizada. Exemplo: Tabelas dinâmicas. Resulta da análise de uma sequência de operações numa estrutura de dados. Análise Amortizada Análise Amortizada Fernando Lobo Algoritmos e Estrutura de Dados II Resulta da análise de uma sequência de operações numa estrutura de dados. Apesar de uma operação individual poder

Leia mais

Análise de Algoritmos

Análise de Algoritmos Algoritmos p. 1/28 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 2/28 Análise de Algoritmos CLRS 7 Essas transparências

Leia mais

Análise Amortizada. Fernando Lobo. Algoritmos e Estrutura de Dados II. Resulta da análise de uma sequência de operações numa estrutura de dados.

Análise Amortizada. Fernando Lobo. Algoritmos e Estrutura de Dados II. Resulta da análise de uma sequência de operações numa estrutura de dados. Análise Amortizada Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 35 Análise Amortizada Resulta da análise de uma sequência de operações numa estrutura de dados. Apesar de uma operação individual

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos CLRS 2.3, 3.2, 4.1 e 4.2 Essas transparências foram adaptadas das transparências do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Número de inversões Problema:

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Matroides e o método guloso U: conjunto finito arbitrário. C: família

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Aula 3 Transformada rápida de Fourier Secs 30.1 e 30.2 do CLRS e 5.6

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Introdução CLRS 2.2 e 3.1 AU 3.3, 3.4 e 3.6 Essas transparências foram

Leia mais

AULA 21. Algoritmos p.760/792

AULA 21. Algoritmos p.760/792 AULA 21 Algoritmos p.760/792 Busca de palavras (string matching) CLRS 32 Algoritmos p.761/792 Busca de palavras em um texto Dizemos que um vetor P [1.. m] ocorre em um vetor T [1.. n] se P [1.. m] = T

Leia mais

Aula 2. Divisão e conquista. Exemplo 1: Número de inversões de uma permutação (problema 2-4 do CLRS; veja também sec 5.4 do KT)

Aula 2. Divisão e conquista. Exemplo 1: Número de inversões de uma permutação (problema 2-4 do CLRS; veja também sec 5.4 do KT) Aula 2 Divisão e conquista Exemplo 1: Número de inversões de uma permutação (problema 2-4 do CLRS; veja também sec 5.4 do KT) Exemplo 2: Par de pontos mais próximos (sec 33.4 do CLRS) Essas transparências

Leia mais

Ordenação em tempo linear

Ordenação em tempo linear Ordenação em tempo linear CLRS cap 8 Algoritmos p. 1 Ordenação: limite inferior Problema: Rearranjar um vetor A[1..n] de modo que ele fique em ordem crescente. Existem algoritmos que consomem tempo O(n

Leia mais

Algoritmos de ordenação: Inserção e Shellsort

Algoritmos de ordenação: Inserção e Shellsort CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Algoritmos de ordenação: Inserção e Shellsort Algoritmos e Estruturas de Dados I Slides adaptados dos slides do livro texto (Ziviani) e dos slides

Leia mais

Análise de Algoritmos

Análise de Algoritmos Algoritmos p. 1/22 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 2/22 Árvore geradora mínima CLRS Cap 23 Algoritmos

Leia mais

Mediana. Aula 09. Menor. i-ésimo menor elemento. Algoritmo de Seleção. -ésimo menor elemento. Mediana é o n+1. -ésimo menor ou o n+1

Mediana. Aula 09. Menor. i-ésimo menor elemento. Algoritmo de Seleção. -ésimo menor elemento. Mediana é o n+1. -ésimo menor ou o n+1 Mediana Aula 09 Algoritmo de Seleção Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Baseado em slides do Prof. Paulo Fiofilof Mediana é o n+1 2 -ésimo menor ou o n+1 2 -ésimo

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Cortes em grafos G: grafo (não orientado) sem laços, possivelmente com

Leia mais

AULA 22. Algoritmos p.793/823

AULA 22. Algoritmos p.793/823 AULA 22 Algoritmos p.793/823 Conjuntos disjuntos dinâmicos CLR 22 CLRS 21 Algoritmos p.794/823 Conjuntos disjuntos Seja S = {S 1, S 2,..., S n } uma coleção de conjuntos disjuntos, ou seja, S i S j = para

Leia mais

Elementos de Análise Assintótica

Elementos de Análise Assintótica Elementos de Análise Assintótica Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia 23 de Março de 2018 Aula de hoje Nesta aula veremos: Elementos de Análise Assintótica

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

INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash

INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash INF70 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd Roteiro Fundamentos Hash Estático Hash Extensível Hash Linear Considerações

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Vetores e Recursividade. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Vetores e Recursividade. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Vetores e Recursividade Pedro O.S. Vaz de Melo Problema 1 Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Aritmética de ponteiros em C (continuação) O que acontece na memória? Ponteiro para ponteiro etc. Métodos de pesquisa

Leia mais

GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash

GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página: Roteiro Fundamentos Hash

Leia mais

Conjuntos disjuntos dinâmicos

Conjuntos disjuntos dinâmicos Conjuntos disjuntos dinâmicos CLRS 21 Algoritmos p. 1 Conjuntos disjuntos Seja S = {S 1,S 2,...,S n } uma coleção de conjuntos disjuntos, ou seja, S i S j = para todo i j. Algoritmos p. 2 Conjuntos disjuntos

Leia mais

Prova Substitutiva PMR3201 1o. semestre 2018 Prof. Thiago Martins

Prova Substitutiva PMR3201 1o. semestre 2018 Prof. Thiago Martins Prova Substitutiva PMR301 1o. semestre 018 Prof. Thiago Martins Instruções Escreva o nome e o número USP na folha de papel almaço. Numere cada página. Indique o total de páginas na primeira página. Os

Leia mais

Técnicas de projeto de algoritmos: Indução

Técnicas de projeto de algoritmos: Indução Técnicas de projeto de algoritmos: Indução 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

Leia mais

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira

# Estrutura de Dados # Aula 06 Pilhas Estáticas. Prof. Leinylson Fontinele Pereira # Estrutura de Dados # Aula 06 Pilhas Estáticas Prof. Leinylson Fontinele Pereira Na aula anterior... Filas Estáticas Sequencial # Propriedades # Operações fundamentais Introdução 3 O que vamos aprender?

Leia mais

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 4: Listas Estáticas e Dinâmicas

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 4: Listas Estáticas e Dinâmicas Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 4: Listas Estáticas e Dinâmicas Listas Estáticas: com Vetores Dinâmicas: Listas Ligadas (com ponteiros) Variáveis e Métodos de Controle:

Leia mais

2. Ordenação por Seleção

2. Ordenação por Seleção 1 Algoritmos de Ordenação Simples (SelectionSort, InsertionSort, BubbleSort) 1. Introdução Objetivo: Determinar a seqüência ordenada dos elementos de um vetor numérico. Algumas considerações: O espaço

Leia mais

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução)

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução) 1 MCTA028 Programação Estruturada Busca e Ordenação (parte I) - Métodos simples de busca - Métodos ingênuos de ordenação (introdução) Material preparado a partir de slides dos profs. Jesús Mena-Chalco

Leia mais

SCC Algoritmos e Estruturas de Dados I

SCC Algoritmos e Estruturas de Dados I SCC 202 - Algoritmos e Estruturas de Dados I TAD Pilha Lembrem...TADs são tipos definidos em termos de seu comportamento e não de sua representação (que pode variar na busca de eficiência) 12/8/2010 Pilha

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação 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 baseado em

Leia mais

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016 MC102 Aula 26 Recursão Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Indução 2 Recursão 3 Fatorial 4 O que acontece na memória 5 Recursão Iteração 6 Soma em um Vetor 7 Números

Leia mais

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO SCC-602 Algoritmos e Estruturas de Dados I - EC Profa. Graça Nunes 2º. Semestre de 2010 Prova 1(Gabarito) 16/09/2010 Nome: Nro

Leia mais

Endereçamento Aberto

Endereçamento Aberto Endereçamento Aberto 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 11/2008 Material baseado em slides

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 06: Análise de Algoritmos (Parte 3) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

Pilhas e Filas. Nádia Félix e Hebert Coelho

Pilhas e Filas. Nádia Félix e Hebert Coelho Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura de Dados Série de Livros Didáticos - Informática - UFRGS Pilhas e filas Listas lineares

Leia mais

Armazenamento em disco com uso de índices

Armazenamento em disco com uso de índices Armazenamento em disco com uso de índices Vimos até o momento árvores onde a chave aparenta ser o único objeto de interesse. Contudo, como sugere a representação de um nó, constante no slide 82, a chave

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos CLRS 2.2 e 3.1 AU 3.3, 3.4 e 3.6 Essas transparências foram adaptadas das transparências do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Intuitivamente...

Leia mais

Programação II Aula 07

Programação II Aula 07 Engenharias de Produção e Petróleo Programação II Aula 07 Adan Lucio P. Rodovia BR 101 Norte, Km. 60, Bairro Litorâneo, CEP 29932-540, São Mateus ES, Tel.: +55 (27) 3312-1511 - CEUNES Métodos de Ordenação

Leia mais

Algoritmos e estrutura de dados

Algoritmos e estrutura de dados Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas

Leia mais

Trabalho Prático 1. Valor: 1,0 pontos (10% da nota total) Data de Entrega: 02/05/2010

Trabalho Prático 1. Valor: 1,0 pontos (10% da nota total) Data de Entrega: 02/05/2010 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

Estruturas de Dados Estruturas de Dados Fundamentais

Estruturas de Dados Estruturas de Dados Fundamentais Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando

Leia mais

Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort. Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional

Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort. Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Plano de Ensino e Aprendizagem ( PEA) Algoritmo ShellSort Proposto por

Leia mais

MC-102 Aula 19 Ponteiros II

MC-102 Aula 19 Ponteiros II MC-102 Aula 19 Ponteiros II Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Ponteiros e Alocação Dinâmica 2 Exemplo de Alocação Dinâmica de Vetores 3 Erros Comuns ao Usar Alocação Dinâmica

Leia mais

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Direta Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Classificação por Inserção Métodos de Classificação em Memória

Leia mais

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT

Algoritmo da IFT 2 / 16. Algoritmo da IFT Estrutura da fila de prioridade Resolvendo empates. Algoritmo 1 Algoritmo geral da IFT Transformada Imagem-Floresta (Estrutura de dados) Prof. Dr. Paulo A. V. de Miranda Instituto de Matemática e Estatística (IME), Universidade de São Paulo (USP) pmiranda@vision.ime.usp.br 1 / 16 Algoritmo

Leia mais

AULA 13. Algoritmos p.526/582

AULA 13. Algoritmos p.526/582 AULA 13 Algoritmos p.526/582 Ordenação em tempo linear CLRS 8.2 8.3 Algoritmos p.527/582 Ordenação por contagem Recebe vetores A[1.. n] e B[1.. n] e devolve no vetor B[1.. n] os elementos de A[1.. n] em

Leia mais

Algoritmos de Ordenação: Tempo Linear

Algoritmos de Ordenação: Tempo Linear Algoritmos de Ordenação: Tempo Linear 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

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Métodos de pesquisa e classificação de dados (continuação) Estruturas de Dados 2 Algoritmo de busca Recebe como argumento

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

Aula 07: Algoritmos de busca e Listas encadeadas

Aula 07: Algoritmos de busca e Listas encadeadas BC1424 Algoritmos e Estruturas de Dados I Aula 07: Algoritmos de busca e Listas encadeadas Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2016 1 Busca de um elemento 2 Exemplo: Busca de um elemento

Leia mais

Análise de Algoritmos Algoritmos de Ordenação

Análise de Algoritmos Algoritmos de Ordenação Análise de Algoritmos Algoritmos de Ordenação Nelson Cruz Sampaio Neto nelsonneto@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação 5 de abril de 2016

Leia mais

Aula 19 Conjuntos disjuntos (Union-find)

Aula 19 Conjuntos disjuntos (Union-find) MC3305 Algoritmos e Estruturas de Dados II Aula 19 Conjuntos disjuntos (Union-find) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann 2 3 Ackermann A função de Ackermann

Leia mais

ANÁLISE DE ALGORITMOS

ANÁLISE DE ALGORITMOS ANÁLISE DE ALGORITMOS Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo agosto 2009 Introdução P. Feofiloff (IME-USP) Análise de Algoritmos agosto 2009 2 / 102 Introdução

Leia mais

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II 03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Ponteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Ponteiros e alocação dinâmica de memória Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Ponteiros Ponteiros e vetores Passagem por cópia e por referência Alocação

Leia mais

distância list ranking

distância list ranking List Ranking List Ranking (1) Seja L uma lista representada por um vetor s tal que s[i] é o nó sucessor de i na lista L, para u, o último elemento da lista L, s[u]=u. A distância entre i e j, d L (i,j),

Leia mais

<identificador>[<tamanho>]: <tipo>;

<identificador>[<tamanho>]: <tipo>; Vetores e Constantes Imagine uma situação na qual fosse necessário armazenar 100 valores para processamento. Por exemplo, pode ser necessário armazenar as notas de 100 provas de uma turma de alunos. Uma

Leia mais

Os métodos de ordenação que ordenam os elementos in situ podem ser classificados em três principais categorias:

Os métodos de ordenação que ordenam os elementos in situ podem ser classificados em três principais categorias: ORDENAÇÃO A atividade de ordenação é o processo de rearranjo de um certo conjunto de objetos de acordo com um critério (ordem) específico. O objetivo da ordenação é facilitar a localização dos membros

Leia mais

Códigos convolucionais

Códigos convolucionais Códigos convolucionais Luis Henrique Assumpção Lolis 29 de novembro de 2013 Luis Henrique Assumpção Lolis Códigos convolucionais 1 Conteúdo 1 Introdução e definição 2 Diagrama de árvores, de treliça e

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerenciamento de Memória Virtual Algoritmos de Paginação Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos

Leia mais

Radix Sorting. Várias aplicações têm chaves que são inteiros, definidos dentro de um intervalo

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

Leia mais

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri Hashing Externo SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri 1 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 (RRN 4) 3 4 5... LOWELL......

Leia mais

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior. Programação de Computadores I Aula - Vetores Professor Ilaim Costa Junior www.ic.uff.br/~ilaim Vetores Estruturas de dados composta Permitem a uma variável armazenar múltiplos valores de um mesmo tipo

Leia mais

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 2) Algoritmos recursivos Indução matemática, recursão, recorrências Indução matemática Uma

Leia mais

Algoritmos e Estruturas de Dados I Linguagem C

Algoritmos e Estruturas de Dados I Linguagem C Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 11 Recursividade 1 Recursão Na linguagem C, uma função pode chamar outra função. A função main()

Leia mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos

Leia mais

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2 Universidade Federal de Mato Grosso do Sul Facom - Faculdade de Computação Programação de Computadores I - Engenharia Ambiental Lista de Exercícios 2 Exercícios usando if 1. Escreva um programa que leia

Leia mais

10.1. Aula 10: Pilhas. O conceito de pilha. Algoritmos de inserção e remoção. Exemplo: Notação Polonesa

10.1. Aula 10: Pilhas. O conceito de pilha. Algoritmos de inserção e remoção. Exemplo: Notação Polonesa 10.1 Aula 10: Pilhas O conceito de pilha Algoritmos de inserção e remoção Exemplo: Notação Polonesa 10.2 Pilhas Uso eficiente de listas: inserções e remoções não devem acarretar movimentação de nós. A

Leia mais

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Árvores Binárias Paginadas (Paged Binary Trees) 8 páginas-filhas 7 registros por página (por seek); Árvore de altura 2 e ordem

Leia mais

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009.

Sistemas de Computação. Seção Notas. Endereçamento de Memória. Notas. Oitava Aula. Haroldo Gambini Santos. 3 de setembro de 2009. Sistemas de Computação Oitava Aula Haroldo Gambini Santos Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Sistemas de Computação 1/12 Seção 1 Endereçamento de Memória

Leia mais

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2

Leia mais

Aula 17: Funções (Parte III) e Introdução a Vetores

Aula 17: Funções (Parte III) e Introdução a Vetores Aula 17: Funções (Parte III) e Introdução a Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exemplos

Leia mais

Bucketsort. CLRS sec 8.4. Algoritmos p. 1

Bucketsort. CLRS sec 8.4. Algoritmos p. 1 Bucketsort CLRS sec 8.4 Algoritmos p. 1 Bucket Sort Recebe um inteiro n e um vetor A[1..n] onde cada elemento é um número no intervalo [0, 1). Algoritmos p. 2 Bucket Sort Recebe um inteiro n e um vetor

Leia mais

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios

Microprocessadores I ELE Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Microprocessadores I ELE 1078 Aula 7 Conjunto de Instruções do Microprocessador 8085 Desvios Grupos de Instruções do 8085 As instruções no 8085 são distribuídas em 5 grupos: 1. Grupo de transferência da

Leia mais

Prova de Recuperação PMR3201/PMR2300 1o. semestre 2015 Prof. Thiago Martins

Prova de Recuperação PMR3201/PMR2300 1o. semestre 2015 Prof. Thiago Martins Prova de Recuperação PMR21/PMR2 1o. semestre 2 Prof. Thiago Martins Instruções: screva o nome e o número USP na folha de papel almaço. 1. (2 pontos) Uma pilha é uma estrutura de dados na qual o elemento

Leia mais

MC-102 Aula 20 Ponteiros III

MC-102 Aula 20 Ponteiros III MC-102 Aula 20 Ponteiros III Instituto de Computação Unicamp 20 de Outubro de 2016 Roteiro 1 Exemplo de Ponteiros e Alocação Dinâmica 2 Exercício 3 Informações Extras: Ponteiros para Ponteiros e Alocação

Leia mais

16/11/2015 Lista Tipo de dado Lista - Implementação Lista - Implementação Lista - Implementação 3

16/11/2015 Lista Tipo de dado Lista - Implementação Lista - Implementação Lista - Implementação 3 Listas, pilhas e filas Profa. Vânia de Oliveira Neves Slides baseados no material da Profa. Graça Nunes Listas Lista Lista Uma Lista Linear é uma coleção ordenada de componentes de um mesmo tipo. Ela é

Leia mais

Introdução à Ciência da Computação II. Recursão. Prof. Ricardo J. G. B. Campello

Introdução à Ciência da Computação II. Recursão. Prof. Ricardo J. G. B. Campello Introdução à Ciência da Computação II Recursão Prof. Ricardo J. G. B. Campello Agradecimentos Parte dos slides a seguir são adaptações dos originais em Pascal gentilmente cedidos pelo Prof. Rudinei Goularte

Leia mais

ESTRUTURA DE DADOS (TCC )

ESTRUTURA DE DADOS (TCC ) ESTRUTURA DE DADOS (TCC-00.319) Listas lineares Cristina Boeres 2 Estrutura de Dados! Listas lineares! estática! dinâmicas! Como manipulá-las:! pilhas! filas Listas Lineares 3! fácil manipulação! agrupa

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

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 08: Listas (Parte 1) ASN Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Material elaborado com base nos slides do Prof. Reinaldo Fortes (curso

Leia mais

HASHING HASHING 6/10/2008

HASHING HASHING 6/10/2008 Hashing é uma técnica que busca realizar as operações de inserção, remoção e busca em tempo constante. Motivação - Acesso Direto: Suponha que existam n chaves a serem armazenadas em uma tabela T, seqüencial

Leia mais

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil em índices ordenados... mas com índice grande

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS

ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS ESTRUTURAS DE DADOS E ALGORITMOS II ANTONIO RAMOS DE CARVALHO JÚNIOR PILHAS TEORIA CONJUNTO ORDENADO DE ITENS NO QUAL NOVOS ITENS PODEM SER INSERIDOS E A PARTIR DO QUAL PODEM SER ELIMINADOS ITENS EM UMA

Leia mais

Aula 19 Árvores Rubro-Negras

Aula 19 Árvores Rubro-Negras Algoritmos e Estruturas de Dados I Aula 19 Árvores Rubro-Negras Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br Q1-2017 1 Árvores de Busca Binária Por que ABBs? São estruturas eficientes de busca (se

Leia mais

Métodos de Ordenação Parte I

Métodos de Ordenação Parte I Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar

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

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Análise de complexidade de Estruturas

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2

Leia mais

Algoritimos e Estruturas de Dados III CIC210

Algoritimos e Estruturas de Dados III CIC210 Algoritimos e Estruturas de Dados III CIC210 Divisão e Conquista Haroldo Gambini Santos Concurso Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Divisão e Conquista

Leia mais

Divisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).

Divisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Divisão e Conquista Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 27 Divisão e Conquista É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Consiste em 3 passos: Dividir

Leia mais

Melhores momentos AULA 1. Algoritmos p.38/86

Melhores momentos AULA 1. Algoritmos p.38/86 Melhores momentos AULA 1 Algoritmos p.38/86 Definições x := inteiro i tal que i x < i + 1 x := inteiro j tal que j 1 < x j Exercício A1.B Mostre que n 1 2 n 2 n 2 e n 2 n 2 n + 1 2 para qualquer inteiro

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes ACP - Condicionais A complexidade pessimista de se b então S é limitada da seguinte maneira A ordem da complexidade é ACP - Condicionais Qual é a complexidade do seguinte trecho de algoritmo?

Leia mais