Projeto e Análise de Algoritmos

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

Download "Projeto e Análise de Algoritmos"

Transcrição

1 Projeto e Análise de Algoritmos Conceitos básicos Metodo de provas: Indução Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás

2 Notações = para todo = existe! = único = produto = soma = implica = se e somente se = divide tq = tal que

3 Notações N = conjunto dos inteiros naturais = {0, 1, 2,...} Z = conjunto dos inteiros = {0, ±1, ±2,...} Q = conjunto dos números racionais = {x : a, b Z, (b 0) tal que x=a b} = {x : a, b Z, (b 0) tal que bx=a} R = conjunto dos números reais N * = conjunto dos naturais positivos = {1, 2,...} R + = conjunto dos números reais não-negativos = { x R : x 0}

4 Funções: Pisos e Tetos Seja x R. Denotamos o maior inteiro menor que ou igual a x por x (piso) e o menor inteiro maior que ou igual a x por x (teto). x-1 < x x x < x+1

5 Funções: Pisos e Tetos Propriedades Seja n Z. n/2 + n/2 = n Sejam x R +, a, b N *. n/a /b = n/ab n/a /b = n/ab a/b (a + (b-1))/b a/b (a - (b-1))/b

6 Funções: Aritmética modular Teorema: Sejam a Z e n N *.! q Z e r N, 0 r < n tais que a = qn + r, O quociente da divisão de a por n, q, é o piso de a/n. Notação: a div n = q = a/n O resto da divisão de a por n, r, é dado por a- a/n *n Notação: a mod n = r = a- a/n *n

7 Funções: Fatoriais Definição recursiva de n! 0! = 1 (n+1)! = (n+1)*n! para n 0 Exemplo 3! = 3*2! = 3*2*1! = 3*2*1*0! = 3*2*1*1 3! = 6

8 Funções: Exponenciais Para todos os valores a 0, m, n reais, temos as seguintes identidades a 0 = 1 a 1 = a a -1 = 1/a (a m ) n = a mn = (a n ) m a m a n = a m+n

9 Funções: Exponenciais e x =1 x x 2 2! x3 3!...= i=0 Temos que: e x 1+x para x 1, 1+x e x 1+x+x 2 e x =1+x+ (x 2 ) lim n 1 x n n =e x x i i!

10 Funções: Logaritmos Notações lg n = log 2 n (logaritmo binário) ln n = log e n (logaritmo natural) lg k n = (lg n) k (exponenciação) lg lg n = lg(lg n) (composição)

11 Funções: Logaritmos Notações { n se i = 0 lg (i) n = lg(lg (i-1) n) se i > 0 e lg (i-1) n > 0 indefinido se i > 0 e lg (i-1) n < 0 ou lg (i-1) n é indefinido lg * n = min{i 0 : lg (i) n 1} (log estrela)

12 Funções: Logaritmos Propriedades Para todo a > 0, b > 0, c > 0 e n a = b log a b log c (ab) = log c a + log c b log b a n = n log b a log b a = log c a /log c b a log b n = n log b a

13 Funções: Somatórias n i=1 i 2 i = n 1 2 k 1 2, para k 1 n H n = i=1 1 i H n é o k ésimo número harmonico ln n H n 1 ln n n i=1 H i = n 1 H n n

14 Funções: Somatórias n = j=1 Expandindo e Contraindo Somas n S 2 = k =1 n n 1 j 1 j 2 n k 2 = j=1 n k= j n = 1 2 j=1 k n n n 1 j=1 j j 2 S 2 = 1 2 n n 1 2 n S 2 S 2 = 1 6 n 2n 1 n 1

15 Funções: Somatórias Dividindo as Somas n k=n 0 n k 2 = k=1 n 0 1 k 2 k=1 = 1 6 n 2n 1 n n n n 0 = 1 6 [ n n 1 2n 1 n 0 n n 0 1 ] k 2

16 Notação Assintótica: Definição O Sejam f, g : R R (ou N N) duas funções. Dizemos que: f(n) О(g(n)) se exitem duas constantes positivas c, n 0 > 0 tais que f(n) c g(n) n n 0.

17 Notação Assintótica: Definição Sejam f, g : R R (ou N N ) duas funções. Dizemos que: f(n) (g(n)) se exitem duas constantes positivas c, n 0 > 0 tais que c g(n) f(n) n n 0.

18 Notação Assintótica: Definição Sejam f, g : R R (ou N N ) duas funções. Dizemos que: f(n) (g(n)) se f(n) О(g(n)) e f(n) (g(n)) Notação: Por abuso de linguagem, dizemos que f(n) = (g(n))

19 Notação Assintótica: Polinômios Um polinômio em n de grau d é dado da forma d P n = i=0 a i n i, a d 0 Observação: P(n) = (n d ) Dizemos que uma função é limitada polinomialmente se f(n) = O(n k ) para alguma constante k

20 Notação Assintótica: Polinômios e Exponenciais Para todas constantes reais a e b, a >1, temos lim n n b a n =0 Conclusão n b = O(a n )

21 Notação Assintótica: Fatorial e log n! = O(n n ) n! = (2 n ) log(n!) = (n log n) para qualquer a > 0. lg n = O(n a ) lg k n = (lg n) k = O(n a ) para qualquer k

22 Notação Assintótica: Somatórias Dividindo as Somas n k=n 0 n k 2 = k=1 n 0 1 k 2 k=1 = 1 6 n 2n 1 n n n n 0 k 2 = 1 6 [ n n 1 2n 1 n 0 n n 0 1 ]

23 Metodos de provas: p q Prova direita p q Prova por contraposição p q Prova por contradição ( p q )

24 Metodos de provas Prova por Construção Contre-exemplo Prova por casos INDUÇÃO

25 Prova direita: p q Teorema Sejam f, g, h : R R (ou N N) três funções. Se f(n) О(g(n)) e g(n) О(h(n)) então f(n) О(h(n)) Prova feita em sala de aula.

26 Prova por contraposta: p q Reformulação du Teorema Sejam f, g, h : R R (ou N N) três funções. Se f(n) О(h(n)) então f(n) О(g(n)) OU g(n) О(h(n))

27 Prova por contradição: (p q) Teorema: O número 2 é irracional Prova feita em sala de aula.

28 Prova por Construção Teorema Existem s e t dois inteiros tais que 5s+7t=1.

29 Contre-exemplo Afirmação falsa Sejam f, g: R R (ou N N) duas funções. Se f(n) О(g(n)) então g(n) О(f(n)). Prova feita em sala de aula.

30 Prova por casos max(a, b) a

31 Prova por Indução Problema: Seja P uma propriedade. Queremos ver que P(n) é verdadeira para todo os inteiros naturais n.

32 Prova por Indução BASE Prove que P(1) é verdadeira HIPOTESIS DE INDUÇÃO Suponha que P(k) é verdadeiro para algum PASSO DE INDUÇÃO Mostre que P(k+1) é verdadeira

33 INDUÇÃO Teorema Seja n um inteiro positivo então n < 2 n.

34 Corolario lg n o(n) provar por contradição que n O(lg n)

35 /* * Ordena um vetor. * O comprimento do vetor é denotado por comprimento[a]. */ INSERTION-SORT(A) 1. para j 2 até comprimento[a] faça 2. chave A[j] 3. // Inserir A[j] na seqüência ordenada A[1..j-1] 4. i j-1 5. enquanto i > 0 e A[i] > chave faça 6. A[i+1] A[i] 7. i i-1 8. fim-enquanto 9. A[i+1] chave 10. fim-para

36 Linha Custo Vezes 1. para j 2 até n c1 n 2. chave A[j] c2 n-1 3. // Comentário 0 n-1 4. i j-1 c4 n-1 5. enquanto i > 0 e A[i] > chave faça c5 j t j 6. A[i+1] A[i] 7. i i-1 c6 c7 j (t j -1) 8. fim-enquanto 0 j t j 9. A[i+1] chave c9 n fim-para 0 n-1

37 SELEÇÃO-SORT(A) 1. para i 1 até comprimento[a]-1 faça 2. //achamos o iesimo menor valor do vetor 3. menor i 4. para j i+1 até comprimento[a] faça 5. se V[j] < V[menor] 6. então menor j 7. fim-se 8. fim-para 9. se menor i 10. //trocamos os valores de V[menor] e V[i] 11. então aux V[menor] 12. V[menor] V[i] 13. V[i] aux 14. fim-se 15. fim-para

38 BOLHA(A) 1. para i 1 até comprimento[a]-1 faça 2. para j 1 até comprimento[a]-i faça 3. se A[j] > A[j+1]) 4. //troca A[j] com A[j+1] 5. então aux A[j] 6. A[j] A[j+1] 7. A[j+1] aux 8. fim-se 9. fim-para 10. fim-para

39 BOLHA-MELHOR(A) 1. ultimatroca comprimento[a] 2. troca 1 3. enquanto ultimatroca > 1 faça 2. para j 1 até ultimatroca-1 faça 3. se A[j] > A[j+1] 4. //troca A[j] com A[j+1] 5. então aux A[j] 6. A[j] A[j+1] 7. A[j+1] aux 8. troca j 8. fim-se 9. fim-para 10. ultimatroca troca 11. troca fim-enquanto

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

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

Referências e materiais complementares desse tópico

Referências e materiais complementares desse tópico Notas de aula: Análise de Algoritmos Centro de Matemática, Computação e Cognição Universidade Federal do ABC Profa. Carla Negri Lintzmayer Conceitos matemáticos e técnicas de prova (Última atualização:

Leia mais

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136 Melhores momentos AULA PASSADA Complexidade Computacional p. 136 Configurações controle q 7 cabeça 1 0 1 1 0 1 1 1 fita de leitura e escrita Configuração 1 0 1q 7 1 0 1 1 1 Complexidade Computacional p.

Leia mais

Aula 02 Notação Assintótica p. 4. Usodanotação O. Notação O. Notação O, Ω, ΘeExemplos. Intuitivamente... O(f(n)) funções que não crescem mais

Aula 02 Notação Assintótica p. 4. Usodanotação O. Notação O. Notação O, Ω, ΘeExemplos. Intuitivamente... O(f(n)) funções que não crescem mais Notação O Aula 02 Notação Assintótica Notação O, Ω, Θe Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Intuitivamente... O() funções que não crescem mais rápido que funções menores

Leia mais

2. Complexidade de Algoritmos

2. Complexidade de Algoritmos Introdução à Computação II 5952011 2. Complexidade de Algoritmos Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2.1. Introdução 2.1.1. Revisão de Pseudo-Código 2.1.2.

Leia mais

Busca Binária. Aula 05. Busca em um vetor ordenado. Análise do Busca Binária. Equações com Recorrência

Busca Binária. Aula 05. Busca em um vetor ordenado. Análise do Busca Binária. Equações com Recorrência Busca Binária Aula 05 Equações com Recorrência Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Idéia: Divisão e Conquista Busca_Binária(A[l...r],k) 1:if r < lthen 2: index = 1

Leia mais

Lista de Exercícios 6: Soluções Funções

Lista de Exercícios 6: Soluções Funções UFMG/ICEx/DCC DCC Matemática Discreta Lista de Exercícios 6: Soluções Funções Ciências Exatas & Engenharias o Semestre de 06 Conceitos. Determine e justifique se a seguinte afirmação é verdadeira ou não

Leia mais

Lista das Principais Funções

Lista das Principais Funções Lista das Principais Funções Laura Goulart UESB 24 de Maio de 2016 Laura Goulart (UESB) Lista das Principais Funções 24 de Maio de 2016 1 / 21 1)Função constante f (x) = c(c : cte ) Laura Goulart (UESB)

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

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

É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser

É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser executado 1 Fazendo estimativas e simplificações... O número

Leia mais

Construção de Algoritmos II Aula 06

Construção de Algoritmos II Aula 06 exatasfepi.com.br Construção de Algoritmos II Aula 06 André Luís Duarte Porque mil anos são aos teus olhos como o dia de ontem que passou, e como a vigília da noite. Salmos 90:4 Recursividade e complexidade

Leia mais

Princípio da boa ordenação. Aula 03. Princípio da boa ordenação. Princípio da boa ordenação. Indução Finita e Somatórios

Princípio da boa ordenação. Aula 03. Princípio da boa ordenação. Princípio da boa ordenação. Indução Finita e Somatórios Princípio da boa ordenação Aula 0 Indução Finita e Somatórios Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Aula 0 p. 1 Aula 0 p. Princípio da boa ordenação Princípio da boa

Leia mais

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos

Modelagem com relações de recorrência. Exemplo: Determinada população dobra a cada ano; população inicial = 5 a n = população depois de n anos Relações de recorrência 8. RELAÇÕES DE RECORRÊNCIA Introdução a relações de recorrência Modelagem com relações de recorrência Solução de relações de recorrência Exemplos e aplicações Relações de recorrência

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

Teoria dos Grafos Aula 7

Teoria dos Grafos Aula 7 Teoria dos Grafos Aula 7 Aula passada Implementação BFS DFS, implementação Complexidade Aplicações Aula de hoje Classe de funções e notação Propriedades da notação Funções usuais Tempo de execução Comparando

Leia mais

Luís Fernando Schultz Xavier da Silveira. 12 de maio de 2010

Luís Fernando Schultz Xavier da Silveira. 12 de maio de 2010 Monóides e o Algoritmo de Exponenciação Luís Fernando Schultz Xavier da Silveira Departamento de Informática e Estatística - INE - CTC - UFSC 12 de maio de 2010 Conteúdo 1 Monóides Definição Propriedades

Leia mais

Comportamento Assintótico. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io)

Comportamento Assintótico. Algoritmos e Estruturas de Dados Flavio Figueiredo (http://flaviovdf.github.io) Comportamento Assintótico Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Até Agora Falamos de complexidade de algoritmos com base no número de passos Vamos generalizar

Leia mais

Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização

Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização 1 Provas, lemas, teoremas e corolários Uma prova é um argumento lógico de que uma afirmação é verdadeira Um teorema

Leia mais

11º ano - Indução matemática

11º ano - Indução matemática 1 O conjunto dos números racionais Q é enumerável, ou seja, é possível atribuir (associar) a cada número racional um número natural Abaixo, os números racionais positivos estão representados na forma de

Leia mais

Lista de Exercícios 6 Funções

Lista de Exercícios 6 Funções UFMG/ICEx/DCC DCC Matemática Discreta Lista de Exercícios 6 Funções Ciências Exatas & Engenharias o Semestre de 06 Conceitos. Determine e justifique se a seguinte afirmação é verdadeira ou não para todas

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Análise assintótica Profa. Sheila Morais de Almeida DAINF-UTFPR-PG março - 2016 f (n) = 5n 3 + 3n 2 + 20. g(n) = 2n 3 + n 2. Estamos interessados em comparar essas funções quando

Leia mais

ANÁLISE DE ALGORITMOS: PARTE 4

ANÁLISE DE ALGORITMOS: PARTE 4 ANÁLISE DE ALGORITMOS: PARTE 4 Prof. André Backes 2 Função recursiva Função que chama a si mesma durante a sua execução Exemplo: fatorial de um número N. Para N = 4 temos 4! = 4 * 3! 3! = 3 * 2! 2! = 2

Leia mais

I. Correção de Algoritmos Não-Recursivos

I. Correção de Algoritmos Não-Recursivos I. Correção de Algoritmos Não-Recursivos Nos exercícios a seguir, você deverá demonstrar a correção dos algoritmos por meio dos conceitos vistos nos slides da Aula 03. 1) Prove que o seguinte algoritmo

Leia mais

Notas Sobre Sequências e Séries Alexandre Fernandes

Notas Sobre Sequências e Séries Alexandre Fernandes Notas Sobre Sequências e Séries 2015 Alexandre Fernandes Limite de seqüências Definição. Uma seq. (s n ) converge para a R, ou a R é limite de (s n ), se para cada ɛ > 0 existe n 0 N tal que s n a < ɛ

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Algoritmos Divisão e Conquista Construção incremental Resolver o problema para um sub-conjunto dos elementos de entrada; Então, adicionar

Leia mais

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013

Lista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013 Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void

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

Aula 1. Teoria da Computação III

Aula 1. Teoria da Computação III Aula 1 Teoria da Computação III Complexidade de Algoritmos Um problema pode ser resolvido através de diversos algoritmos; O fato de um algoritmo resolver um dado problema não significa que seja aceitável

Leia mais

Lista 2 - PMR2300/3200

Lista 2 - PMR2300/3200 Lista 2 - PMR2300/3200 Fabio G. Cozman, Thiago Martins 8 de março de 2015 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u

Leia mais

1 Conjuntos, Números e Demonstrações

1 Conjuntos, Números e Demonstrações 1 Conjuntos, Números e Demonstrações Definição 1. Um conjunto é qualquer coleção bem especificada de elementos. Para qualquer conjunto A, escrevemos a A para indicar que a é um elemento de A e a / A para

Leia mais

Matemática Discreta Bacharelado em Sistemas de Informação Resolução - 4ª Lista de Exercícios. Indução e Recursão

Matemática Discreta Bacharelado em Sistemas de Informação Resolução - 4ª Lista de Exercícios. Indução e Recursão 1) Prove utilizando o princípio da indução matemática, que são verdadeiras as seguintes igualdades: a) 1+4+7+...+(3n 2) Para n 1 temos que: 3.1 2. 1 1 da indução é Supondoo que a igualdade nk seja verdadeira,

Leia mais

UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática MA12 - Matemática Discreta - PROFMAT Prof.

UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática MA12 - Matemática Discreta - PROFMAT Prof. UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática MA - Matemática Discreta - PROFMAT Prof. Zeca Eidam Lista Números Naturais e o Princípio de Indução. Prove que

Leia mais

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO Baseado nos slides de autoria de Rosely Sanches Estruturas de Controle ESTRUTURA SEQUENCIAL ESTRUTURAS CONDICIONAIS Estrutura Condicional Simples Estrutura

Leia mais

4 Princípios de Indução Finita e demonstrações por indução

4 Princípios de Indução Finita e demonstrações por indução 4 Princípios de Indução Finita e demonstrações por indução Vimos que o Princípio da Boa Ordem (PBO) todo A N não-vazio tem um menor elemento e, como consequência (provado na página 81), todo A Z não vazio

Leia mais

Programa Combinatória Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 52

Programa Combinatória Aritmética Racional MATEMÁTICA DISCRETA. Patrícia Ribeiro. Departamento de Matemática, ESTSetúbal 2018/ / 52 1 / 52 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 52 Programa 1 Combinatória 2 Aritmética Racional 3 Grafos 3 / 52 Capítulo 1 Combinatória 4 / 52 Princípio

Leia mais

Quantidade de memória necessária

Quantidade de memória necessária Tempo de processamento Um algoritmo que realiza uma tarefa em 10 horas é melhor que outro que realiza em 10 dias Quantidade de memória necessária Um algoritmo que usa 1MB de memória RAM é melhor que outro

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos 60 Desempenho 50 40 30 20 Algoritmo1 Algoritmo2 Algoritmo3 10 0 Complexidade de Algoritmos INFORMÁTICA BÁSICA Prof. Demétrios Coutinho C a m p u s P a u d o s F e r r o s D i s c i p l i n a d e A l g

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também

Leia mais

Análise de algoritmos

Análise de algoritmos Análise de algoritmos Recorrências Conteúdo Introdução O método mestre Referências Introdução O tempo de execução de um algoritmo recursivo pode frequentemente ser descrito por uma equação de recorrência.

Leia mais

Divisão e Conquista. Norton T. Roman. Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder

Divisão e Conquista. Norton T. Roman. Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder Divisão e Conquista Norton T. Roman Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder Divisão e Conquista Construção incremental Ex: Consiste em, inicialmente, resolver

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Parte 3 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 06 Algoritmos e Estruturas de Dados I Como escolher o algoritmo mais adequado para uma situação? (continuação) Exercício

Leia mais

A = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A.

A = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A. Capítulo 1 Números Reais 1.1 Conjuntos Numéricos Um conjunto é uma coleção de elementos. A relação básica entre um objeto e o conjunto é a relação de pertinência: quando um objeto x é um dos elementos

Leia mais

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE Ruy J. G. B. de Centro de Informática, UFPE 2007.1 Conteúdo 1 Seqüências Definição Uma seqüência é uma função cujo domíno é um número natural ou N. Uma seqüência cujo domínio é algum número natural n N

Leia mais

Preliminares. Profa. Sheila Morais de Almeida. agosto

Preliminares. Profa. Sheila Morais de Almeida. agosto Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa

Leia mais

Capítulo 6 Análise de Algoritmos Capítulo 6

Capítulo 6 Análise de Algoritmos Capítulo 6 666 Apêndice C Respostas e Sugestões para os Exercícios de Revisão 42. Consulte a Seção 5.4. 43. (a) Escoamento de memória.(b) Porque não há garantia que o cliente irá usá-la devidamente. 44. (a) Contagem

Leia mais

MAC5770 Exercícios preliminares

MAC5770 Exercícios preliminares MAC5770 Exercícios preliminares IME USP, 1/3/2011 Estes exercícios tratam de rudimentos da teoria dos conjuntos e de algumas outras trivialidades. Se você pretende cursar MAC5770 (Introdução à Teoria dos

Leia mais

MAC0320 Exercícios preliminares

MAC0320 Exercícios preliminares MAC0320 Exercícios preliminares IME USP, 6/3/2012 Estes exercícios tratam de rudimentos da teoria dos conjuntos e de algumas outras trivialidades. Se você pretende cursar MAC0320 (Introdução à Teoria dos

Leia mais

COMPLEXIDADE DE ALGORITMOS

COMPLEXIDADE DE ALGORITMOS COMPLEXIDADE DE ALGORITMOS Algoritmos Seqüência de instruções necessárias para a resolução de um problema bem formulado Permite implementação computacional COMPLEXIDADE DE ALGORITMOS Um algoritmo resolve

Leia mais

Tópicos de Matemática Elementar

Tópicos de Matemática Elementar Tópicos de Matemática Elementar 2 a série de exercícios 2004/05. A seguinte prova por indução parece correcta, mas para n = 6 o lado esquerdo é igual a 2 + 6 + 2 + 20 + 30 = 5 6, enquanto o direito é igual

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

2 Erro comum da indução. 3 Corretude de Algoritmos. > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17

2 Erro comum da indução. 3 Corretude de Algoritmos. > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17 Conteúdo 1 Indução Forte X Indução Fraca 2 Erro comum da indução 3 Corretude de Algoritmos > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17 Indução Forte X Indução Fraca

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

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

Relações de recorrência

Relações de recorrência Relações de recorrência Sequências. Relações de recorrência. Equação caraterística. Relações de recorrência de 2ª ordem não homogéneas. Referência: Capítulo: 4 Discrete Mathematics with Graph Theory Edgar

Leia mais

Denominamos equação polinomial ou equação algébrica de grau n a toda equação da forma:

Denominamos equação polinomial ou equação algébrica de grau n a toda equação da forma: EQUAÇÕES POLINOMIAIS. EQUAÇÃO POLINOMIAL OU ALGÉBRICA Denominamos equação polinomial ou equação algébrica de grau n a toda equação da forma: p(x) = a n x n + a n x n +a n x n +... + a x + a 0 = 0 onde

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Tempo polinomial Verificação de tempo polinomial Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás Tempo polinomial Um algoritmo é

Leia mais

Notas sobre teoria dos números (2)

Notas sobre teoria dos números (2) 1 / 29 Notas sobre teoria dos números (2) Fonte: livros do L. Lóvasz e Kenneth Rosen (ref. completa na página) Centro de Informática Universidade Federal de Pernambuco 2007.1 / CIn-UFPE 2 / 29 Maior divisor

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos A. G. Silva Baseado nos materiais de Souza, Silva, Lee, Rezende, Miyazawa Unicamp Ribeiro FCUP 18 de agosto de 2017 Conteúdo programático Introdução (4 horas/aula) Notação

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos O que é um algoritmo? Sequência bem definida e finita de cálculos que, para um dado valor de entrada, retorna uma saída desejada/esperada. Na computação: Uma descrição de como

Leia mais

Análise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo (

Análise de Problemas Recursivos. Algoritmos e Estruturas de Dados Flavio Figueiredo ( Análise de Problemas Recursivos Algoritmos e Estruturas de Dados 2 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Lembrando de Recursividade Procedimento que chama a si mesmo Recursividade permite

Leia mais

Algoritmos AULA. META Introduzir e medir eficiência de algoritmos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Criar pequenos algoritmos;

Algoritmos AULA. META Introduzir e medir eficiência de algoritmos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Criar pequenos algoritmos; Algoritmos META Introduzir e medir eficiência de algoritmos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Criar pequenos algoritmos; Medir a eficiência de algoritmos simples. PRÉ-REQUISITOS

Leia mais

COMPLEXIDADE DE ALGORITMOS COMPLEXIDADE DE ALGORITMOS

COMPLEXIDADE DE ALGORITMOS COMPLEXIDADE DE ALGORITMOS COMPLEXIDADE DE ALGORITMOS Algoritmos Seqüência de instruções necessárias para a resolução de um prolema em formulado Permite implementação computacional COMPLEXIDADE DE ALGORITMOS Um algoritmo resolve

Leia mais

Introdução aos números inteiros

Introdução aos números inteiros Introdução aos números inteiros Laura Goulart UESB 19 de Dezembro de 2017 Laura Goulart (UESB) Introdução aos números inteiros 19 de Dezembro de 2017 1 / 18 Adição Laura Goulart (UESB) Introdução aos números

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

XIX Semana Olímpica de Matemática. Nível 3. Polinômios Ciclotômicos e Congruência Módulo p. Samuel Feitosa

XIX Semana Olímpica de Matemática. Nível 3. Polinômios Ciclotômicos e Congruência Módulo p. Samuel Feitosa XIX Semana Olímpica de Matemática Nível 3 Polinômios Ciclotômicos e Congruência Módulo p Samuel Feitosa O projeto da XIX Semana Olímpica de Matemática foi patrocinado por: Semana Olímpica 2016 Polinômios

Leia mais

Limites de Funções. Bases Matemáticas. 2 o quadrimestre de o quadrimestre de / 57

Limites de Funções. Bases Matemáticas. 2 o quadrimestre de o quadrimestre de / 57 2 o quadrimestre de 2017 2 o quadrimestre de 2017 1 / Visão Geral 1 Limites Finitos Limite para x ± 2 Limites infinitos Limite no ponto Limite para x ± 3 Continuidade Definição e exemplos Resultados importantes

Leia mais

Notas sobre crescimento de função

Notas sobre crescimento de função 1 / 14 Notas sobre crescimento de função Anjolina Grisi de Oliveira Centro de Informática Universidade Federal de Pernambuco CIn-UFPE 2 / 14 Motivação Estimar custo de algoritmo em relação ao tempo e espaço.

Leia mais

Complexidade de Tempo

Complexidade de Tempo Complexidade de Tempo 1 Complexidade de Tempo Quando um problema é decidível, ele pode não ser solúvel na prática se a solução requer uma quantidade excessiva de tempo ou memória Medindo a complexidade

Leia mais

AULA 17. Melhores momentos. Segmento de soma máxima. Segmento de soma máxima. Conclusões. Algumas técnicas

AULA 17. Melhores momentos. Segmento de soma máxima. Segmento de soma máxima. Conclusões. Algumas técnicas Melhores momentos Segmento de soma máxima Um segmento de um vetor v[0 n 1] é qualquer subvetor da forma v[e d] Problema: Dado um vetor v[0 n 1] de números inteiros, determinar um segmento v[e d] de soma

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

Lista 1. 9 Se 0 < x < y e n N então 0 < x n < y n.

Lista 1. 9 Se 0 < x < y e n N então 0 < x n < y n. UFPR - Universidade Federal do Paraná Departamento de Matemática CM095 - Análise I Prof. José Carlos Eidam Lista 1 Em toda a lista, K denota um corpo ordenado qualquer. Corpos ordenados 1. Verifique as

Leia mais

MATEMÁTICA I LIMITE. Profa. Dra. Amanda L. P. M. Perticarrari

MATEMÁTICA I LIMITE. Profa. Dra. Amanda L. P. M. Perticarrari MATEMÁTICA I LIMITE Profa. Dra. Amanda L. P. M. Perticarrari amanda@fcav.unesp.br Parte 1 Limites Definição de vizinhança e ite Limites laterais Limite de função real com uma variável real Teorema da existência

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

é uma proposição verdadeira. tal que: 2 n N k, Φ(n) = Φ(n + 1) é uma proposição verdadeira. com n N k, tal que:

é uma proposição verdadeira. tal que: 2 n N k, Φ(n) = Φ(n + 1) é uma proposição verdadeira. com n N k, tal que: Matemática Discreta 2008/09 Vítor Hugo Fernandes Departamento de Matemática FCT/UNL Axioma (Princípio da Boa Ordenação dos Números Naturais) O conjunto parcialmente (totalmente) ordenado (N, ), em que

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

Binomiais e Primos. p p 2 + p 3 + p k. Demonstração. No produto n! = n, apenas os múltiplos de p contribuem com um fator p.

Binomiais e Primos. p p 2 + p 3 + p k. Demonstração. No produto n! = n, apenas os múltiplos de p contribuem com um fator p. Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 3 Carlos Gustavo Moreira Aula 16 Binomiais e Primos Começamos lembrando a Proposição 1 (Fatores do Fatorial) Seja p um primo Então a maior

Leia mais

Sucessões. , ou, apenas, u n. ,u n n. Casos Particulares: 1. Progressão aritmética de razão r e primeiro termo a: o seu termo geral é u n a n1r.

Sucessões. , ou, apenas, u n. ,u n n. Casos Particulares: 1. Progressão aritmética de razão r e primeiro termo a: o seu termo geral é u n a n1r. Sucessões Definição: Uma sucessão de números reais é uma aplicação u do conjunto dos números inteiros positivos,, no conjunto dos números reais,. A expressão u n que associa a cada n a sua imagem designa-se

Leia mais

UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática CM122 - Fundamentos de Análise Prof. Zeca Eidam.

UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática CM122 - Fundamentos de Análise Prof. Zeca Eidam. UFPR - Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Matemática CM1 - Fundamentos de Análise Prof Zeca Eidam Lista 4 Supremo e ínfimo 1 Seja X R não-vazio 1 Mostre que, caso existam,

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

1 a Lista Professor: Claudio Fabiano Motta Toledo Estagiário PAE: Jesimar da Silva Arantes

1 a Lista Professor: Claudio Fabiano Motta Toledo Estagiário PAE: Jesimar da Silva Arantes SSC0503 - Introdução à Ciência de Computação II 1 a Lista Professor: Claudio Fabiano Motta Toledo (claudio@icmc.usp.br) Estagiário PAE: Jesimar da Silva Arantes (jesimar.arantes@usp.br) 1. O que significa

Leia mais

1 Conjuntos enumeráveis

1 Conjuntos enumeráveis Medida e Integração. Departamento de Física e Matemática. USP-RP. Prof. Rafael A. Rosales de maio de 007. Conjuntos enumeráveis Denotamos por Q os numeros racionais, logo [0, ] Q, são os números racionais

Leia mais

Indução Matemática. George Darmiton da Cunha Cavalcanti CIn - UFPE

Indução Matemática. George Darmiton da Cunha Cavalcanti CIn - UFPE Indução Matemática George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução Qual é a fórmula para a soma dos primeiros n inteiros ímpares positivos? Observando os resultados para um n pequeno, encontra-se

Leia mais

André Vignatti DINF- UFPR

André Vignatti DINF- UFPR Notação Assintótica: O André Vignatti DINF- UFPR Notação Assintótica Vamos expressar complexidade através de funções em variáveis que descrevam o tamanho de instâncias do problema. Exemplos: Problemas

Leia mais

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO. Teoria de Algoritmos: Complexidade

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO. Teoria de Algoritmos: Complexidade GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Complexidade Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Introdução Antes de executar um programa é

Leia mais

Análise de Algoritmos e Estruturas de Dados

Análise de Algoritmos e Estruturas de Dados Análise de Algoritmos e Estruturas de Dados Guilherme Oliveira Mota CMCC - Universidade Federal do ABC g.mota@ufabc.edu.br 21 de julho de 2018 Esta versão é um rascunho ainda em elaboração e não foi revisado

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Estruturas de Controle Parte II Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir foram adaptados dos originais de A. L. V. Forbellone e H. F. Eberspächer

Leia mais

MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017

MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017 PROVA 1 MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017 Nome: Número USP: Instruções: (1 ) Esta prova é individual. (2 ) Não destaque as folhas deste caderno. (3 ) A prova consiste de 6

Leia mais

CES-11. Noções de complexidade de algoritmos. Complexidade de algoritmos. Avaliação do tempo de execução. Razão de crescimento desse tempo.

CES-11. Noções de complexidade de algoritmos. Complexidade de algoritmos. Avaliação do tempo de execução. Razão de crescimento desse tempo. CES-11 Noções de complexidade de algoritmos Complexidade de algoritmos Avaliação do tempo de execução Razão de crescimento desse tempo Notação O Exercícios COMPLEXIDADE DE ALGORITMOS Importância de análise

Leia mais

Busca em Memória Primária Estrutura de Dados II

Busca em Memória Primária Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078 2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

Busca em Memória Primária Estrutura de Dados II

Busca em Memória Primária Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II COM10078 Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 2

ESTRUTURAS DE REPETIÇÃO - PARTE 2 AULA 16 ESTRUTURAS DE REPETIÇÃO - PARTE 2 16.1 A seqüência de Fibonacci Um problema parecido, mas ligeiramente mais complicado do que o do cálculo do fatorial (veja as notas da Aula 14), é o do cálculo

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos A. G. Silva Baseado nos materiais de Souza, Silva, Lee, Rezende, Miyazawa Unicamp Ribeiro FCUP Manber, Introduction to Algorithms (989) Livro de abril de 08 Conteúdo programático

Leia mais

Aula prática 5. Funções Recursivas

Aula prática 5. Funções Recursivas Programação Funcional UFOP DECOM 2014.1 Aula prática 5 Funções Recursivas Resumo Definições recursivas são comuns na programação funcional. Nesta aula vamos aprender a definir funções recursivas. Sumário

Leia mais

+ adição Lê-se como "mais" - subtração Lê-se como "menos" / divisão Lê-se como "dividido" * ou x multiplicação Lê-se como "multiplicado"

+ adição Lê-se como mais - subtração Lê-se como menos / divisão Lê-se como dividido * ou x multiplicação Lê-se como multiplicado Símbolo Nome Explicação + adição Lê-se como "mais" Ex: 2+3 = 5, significa que se somarmos 2 e 3 o resultado é 5. - subtração Lê-se como "menos" Ex: 5-3 = 2, significa que se subtrairmos 3 de 5, o resultado

Leia mais

Análise Real. IF Sudeste de Minas Gerais. Primeiro semestre de Prof: Marcos Pavani de Carvalho. Marcos Pavani de Carvalho

Análise Real. IF Sudeste de Minas Gerais. Primeiro semestre de Prof: Marcos Pavani de Carvalho. Marcos Pavani de Carvalho IF Sudeste de Minas Gerais Prof: Primeiro semestre de 2014 Proposição: É uma afirmação que pode ser classificada em verdadeira ou falsa, mas que faça sentido. Exemplo: Sejam as proposições: A: A soma dos

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 7 de outubro de 2016 Marco Antonio

Leia mais

Polinômios (B) 4 (C) 2 (D) 1 3 (E). 2

Polinômios (B) 4 (C) 2 (D) 1 3 (E). 2 Polinômios. (ITA 2005) No desenvolvimento de (ax 2 2bx + c + ) 5 obtém-se um polinômio p(x) cujos coeficientes somam 32. Se 0 e são raízes de p(x), então a soma a + b + c é igual a (A) 2 (B) 4 (C) 2 (D)

Leia mais