2. Complexidade de Algoritmos

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

Download "2. Complexidade de Algoritmos"

Transcrição

1 Introdução à Computação II Complexidade de Algoritmos Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1

2 Principais Tópicos 2.1. Introdução Revisão de Pseudo-Código Uma Rápida Revisão Matemática 2.2. Análise de Algoritmos Análise por Operações Primitivas Análise do Pior Caso e e do Caso Médio 2.3. Notação Assintótica Notação O Notação Notação Outras Notações 2.4. Análise Assintótica 2

3 Revisão de Pseudo-Código Pseudo-Código Descrição em alto nível que combina» Linguagem natural» Estruturas familiares de linguagem de programação Escrito para ser interpretado por um ser-humano, e não por um computador Mais compacto que o código na linguagem de programação Facilita a análise das estruturas de dados ou dos algoritmos 3

4 Revisão de Pseudo-Código Exemplo 2.1. Pseudo-Código Algoritmo maxelemento(): Entrada: vetor A com n inteiros Saída: elemento máximo de A maximo A[0] para i 1 até n-1 faça se A[i] > maximo então maximo A[i] fim se fim para retorne maximo 4

5 Revisão de Pseudo-Código Estruturas de linguagem de programação utilizadas Expressões» Atribuição:» Relação de igualdade: = Declarações de Rotinas: Algoritmo (par1,...) Chamadas de sub-rotinas: subrotina (par1,...) Retorno de sub-rotinas: retorne... (em inglês: return...) 5

6 Revisão de Pseudo-Código (continuação) Estruturas de Decisão: se...então...senão... (em inglês: if...then...else... ) Loops» enquanto...faça... (em inglês: while...do... )» repita...até que... (em inglês: repeat...until... )» para...faça... (em inglês: for...do... ) Indexação: A [ i ] 6

7 Logaritmos e Expoentes Revisão Matemática log b a = c a = b c Obs: em computação, é comum não escrever o valor da base quando b=2 (Exemplo: log 1024 = 10) 7

8 Revisão Matemática Algumas propriedades de somatórios Proposição 2.1. Para: dois inteiros nm0, duas funções f(i) e g(i) e uma constante c, n m i n m i n m i i g i f i g i f ) ( ) ( ) ( ) ( 1 1 m n n m i n m i n m i i f c i f c

9 Revisão Matemática Série Aritmética Proposição 2.2. Para qualquer inteiro n1, n n n i n i n n i n i n n i n i

10 Série Geométrica Revisão Matemática Proposição 2.3. Para qualquer inteiro n0 e qualquer número real 0 < a 1, então n n i 1 a a 1 a i0 1 10

11 Revisão Matemática Definições x : maior inteiro menor ou igual a x (piso ou chão) x : menor inteiro maior ou igual a x (teto) 11

12 2.2. Análise de Algoritmos Análise de algoritmos: prever os recursos de que o algoritmo vai necessitar Exemplos» Memória» Largura da banda de comunicação» Hardware» Tempo de execução O tempo de execução pode ser estudado através da análise experimental 12

13 2.2. Análise de Algoritmos o : computador 1 + : computador 2 Figura 2.1. Resultados de um estudo experimental do tempo de execução (t) para diferentes entradas (n) 13

14 Desvantagens dos estudos experimentais Limitado conjunto de entradas para teste Dificuldade de comparar a eficiência de dois ou mais algoritmos Necessidade de implementar e executar o algoritmo Existe outro método? Método analítico 2.2. Análise de Algoritmos» Independe do computador utilizado 14

15 Análise por Operações Primitivas Pode ser implementada em Pseudo- Código Independe da linguagem de programação Independe do hardware 15

16 Análise por Operações Primitivas Operações Primitivas Atribuição Chamada de uma sub-rotina Operação aritmética Operação lógica Indexação em um vetor Retorno de uma sub-rotina Referência a um objeto 16

17 Análise por Operações Primitivas Exemplo 2.2. Faça a análise por operações primitivas dos algoritmos apresentados abaixo a) Algoritmo fnum(a,b): Entrada: inteiros a e b Saída: valor da operação matemática soma a + b soma 0.8 * soma retorne soma 17

18 Análise por Operações Primitivas Exemplo 2.2. Faça a análise por operações primitivas dos algoritmos apresentados abaixo b) Algoritmo impvetor(a): Entrada: vetor A com n inteiros para i 0 até n-1 faça fim para retorne imprime ( A[ i ] ) 18

19 Análise por Operações Primitivas Exemplo 2.2. Faça a análise por operações primitivas dos algoritmos apresentados abaixo c) Algoritmo maxnum(a,b): Entrada: inteiros a e b Saída: elemento máximo entre a e b maximo a se a < b então fim se maximo b retorne maximo 19

20 Análise por Operações Primitivas Exemplo 2.2. Faça a análise por operações primitivas dos algoritmos apresentados abaixo d) Algoritmo maxelemento(a): Entrada: vetor A com n inteiros Saída: elemento máximo de A maximo A[0] para i 1 até n-1 faça se A[i] > maximo então maximo A[i] fim se fim para retorne maximo 20

21 Análise por Operações Primitivas Exercício 2.1. Escreva, utilizando pseudo-código, um algoritmo que imprima a média aritmética de n números digitados pelo usuário. Exercício 2.2. Faça a análise por operações primitivas do algoritmo criado no Exercício 2.1. Exercício 2.3. Escreva, utilizando pseudo-código, um algoritmo que tenha como entrada um vetor de inteiros com tamanho n e que verifique se um determinado número digitado pelo usuário está presente. Exercício 2.4. Faça a análise por operações primitivas do algoritmo criado no Exercício

22 Análise por Operações Primitivas Exercício 2.5. Escreva, utilizando pseudocódigo, uma função que receba duas matrizes reais quadradas (com n linhas) e gere a sua soma. Exercício 2.6. Faça a análise por operações primitivas do algoritmo criado no Exercício

23 Análise do Pior Caso e do Caso Médio Complexidade Definição 2.1. seja A um algoritmo, {E 1,..., E m } o conjunto de todas as entradas possíveis de A. Denote por t i o número de passos efetuados por A, quando a entrada for E i. Definemse Complexidade do pior caso = Complexidade do melhor caso = Complexidade do caso médio =. max t i t na qual p i é a probabilidade de ocorrência da entrada E i E i min m i1 E E p i t i i E i 23

24 Análise do Pior Caso e do Caso Médio pior caso caso médio? melhor caso 24

25 Análise do Pior Caso e do Caso Médio Análise do caso médio e do pior caso Análise do tempo médio requer conhecimento das distribuições de probabilidades das entradas A análise do pior caso é geralmente utilizada 25

26 Análise do Pior Caso e do Caso Médio Analisando detalhadamente o tempo de execução, surgem as seguintes questões Este nível de detalhamento é realmente importante? Será tão importante definir o número exato de operações primitivas executadas pelo algoritmo? Quão cuidadosamente deve-se definir o conjunto de operações primitivas? Exemplo: y = a*x + b 26

27 2.3. Notação Assintótica Simplificação da análise Análise da taxa de crescimento Ex.: o algoritmo maxelemento» pior caso: 8n-2» cresce proporcionalmente a n Despreza os fatores constantes Ex.: n 2 c 1 n 2 c 2 27

28 2.3. Notação Assintótica Utilizadas para analisar o tempo de execução Notação O : limite assintótico superior» Pior caso Notação : limite assintótico inferior Notação : limite assintótico restrito 28

29 Notação O Definição 2.2. Sejam f(n) e g(n) duas funções mapeando inteiros não-negativos para números reais. Então f(n) é O(g(n)) se existem uma constante real c>0 e uma constante inteira n 0 1 tal que: 0 f(n) c g(n) para todo n n 0 29

30 Tempo de Execução Ilustração da Notação O Notação O c g(n) f(n) n o 30

31 Notação O Exemplo n 2 é O(n)? 31

32 Notação O Permite dizer que uma função de n é menor que ou igual a outra função Até um fator constante no sentido assintótico, já que n cresce para o infinito Fornece um limite assintótico superior para o tempo de execução 32

33 Notação O Proposição 2.3. O tempo de execução do algoritmo maxelemento para a computação do máximo elemento em um vetor de n inteiros é O(n) Justificativa: - O número de operações primitivas para o pior caso (Exemplo 1) é 8n-2 - Considerando que existe uma constante k dependente do tempo de execução, o tempo de execução do algoritmo é k(8n-2) -Considerando que c=8k e n 0 =1, o tempo de execução do algoritmo maxelemento é O(n). 33

34 Notação O Exemplo 2.4. Mostre que 20n n (log n) + 5 é O(n 3 ) De fato, qualquer polinômio a k n k + a k-1 n k a 0 é sempre O(n k ) 34

35 Notação O Exercício 2.7. Mostre que a) 3 (log n) + 5 ( log (log n) ) é O(log n) b) 5/n é O(1/n ) c) é O(1) d) (n+1) 5 é O(n 5 ) 35

36 Notação O Terminologia para classes de funções Logarítmica: O(log n) Linear: O(n) Quadrática: O(n 2 ) Polinomial: O(n k ) (k1) Exponencial: O(a n ) (a>1) Fatorial: O(n!) 36

37 Notação O log 2 n n n log 2 n n 2 n 3 2 n ,84467E ,40282E n n 3 n 2 n log 2 n n log 2 n

38 Notação Definição 2.3. Sejam f(n) e g(n) duas funções mapeando inteiros não-negativos para números reais. Então f(n) é (g(n)) se existem uma constante real c>0 e uma constante inteira n 0 1 tal que: 0 c g(n) f(n) para todo n n 0 38

39 Tempo de Execução Ilustração da Notação Notação f(n) c g(n) n o 39

40 Notação Permite dizer que uma função de n é maior que ou igual a outra função Até um fator constante e no sentido assintótico já que n cresce para o infinito Fornece um limite assintótico inferior para o tempo de execução 40

41 Notação Definição 2.4. Sejam f(n) e g(n) duas funções mapeando inteiros não-negativos para números reais. Então f(n) é (g(n)) se existem constantes reais c 1 >0 e c 2 >0 e uma constante inteira n 0 1 tal que: 0 c 1 g(n) f(n) c 2 g(n) para todo n n 0 41

42 Tempo de Execução Notação Ilustração da Notação c 2 g(n) f(n) c 1 g(n) n o 42

43 Notação Permite dizer que duas funções são assintoticamente iguais até um fator constante Fornece um limite assintótico restrito para o tempo de execução 43

44 Outras Notações Notações o e Parentes, respectivamente, das notações O e Denotam limites que não são assintoticamente restritos (n 0 >0)» Exemplo: o 0 f(n) < c g(n) para todo n n 0 44

45 2.4. Análise Assintótica Permite analisar os tempos de execução dos algoritmos por meio das Notações Assintóticas Determinação da ordem de crescimento (em função do tamanho das entradas) do tempo de execução de um programa» sem haver preocupação com o valor das constantes envolvidas 45

46 2.4. Análise Assintótica Utiliza técnicas de matemática discreta Envolvendo contagem dos elementos que possuam uma propriedade comum Infelizmente, não existe um conjunto completo de regras para a análise de programas No entanto, podemos enumerar alguns princípios a serem seguidos 46

47 2.4. Análise Assintótica Princípios para a análise de algoritmos 1. O tempo de execução de um comando simples de atribuição, leitura ou escrita pode ser considerado como O(1) 2. O tempo de execução de um bloco de comandos é determinado pelo maior tempo de execução de um comando deste bloco 3. O tempo de execução de um comando de decisão é composto pelo tempo de execução de seu bloco de comandos condicionais, mais o tempo para avaliar as suas condições (que geralmente Introdução à Computação são O(1) II ) 47

48 2.4. Análise Assintótica Princípios para a análise de algoritmos 4. O tempo para executar um anel (loop) é a soma do tempo de execução do bloco de comandos (corpo) do anel mais o tempo para avaliar a condição de parada, multiplicado pelo número de iterações deste anel 5. Quando o programa possui procedimentos nãorecursivos, o tempo de execução de cada procedimento deve ser computado separadamente, iniciando com os procedimentos que não chamam outros procedimentos 48

49 Exemplo 2.5. Análise Assintótica 2.4. Análise Assintótica Algoritmo prefixmedia1(x): Entrada: vetor X com n números Saída: vetor A com n números tal que A[i] é a média dos elementos X[0],...,X[i] Seja A um vetor com n números. para i 0 até n-1 faça a n-1=n(n-1)/2 para j 0 até i faça a a+x[j] fim para A[i] a/(i+1) fim para retorne A 49

50 Exemplo 2.6. Análise Assintótica Algoritmo prefixmedia2(x): Entrada: vetor X com n números Análise Assintótica Saída: vetor A com n números tal que A[i] é a média dos elementos X[0],...,X[i] Seja A um vetor com n números. s 0 para i 0 até n-1 faça n s s+x[i] A[i] s/(i+1) fim para retorne A 50

51 Exemplo 2.6. Análise Assintótica (continuação) Análise Assintótica O tempo de execução do algoritmo prefixmedia1() é O(n 2 ) enquanto que o do algoritmo prefixmedia2() é O(n) Assim, levando-se em conta a análise assintótica do tempo de execução, o algoritmo prefixmedia2() é mais interessante que o do algoritmo prefixmedia1() 51

52 Exercícios Exercício 2.8. Faça a análise assintótica (Notação O ) do tempo de execução do Algoritmo maxelemento() apresentado no Exemplo 2.1. Exercício 2.9. Faça a análise por operações primitivas e análise assintótica de um algoritmo que verifique se um determinado valor digitado pelo usuário está presente em uma matriz n x m 52

53 Exercícios Exercício Implemente os algoritmos desenvolvidos nos Exercícios 2.1, 2.3 e 2.5, e Obtenha os tempos de execução para n=3000, n=10000 e n=30000 Faça a análise assintótica 53

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006 Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma

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

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

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

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

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

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

Introdução à Ciência da Computação II Introdução à Ciência da Computação II Análise de Algoritmos: Parte I Prof. Ricardo J. G. B. Campello Este material consiste de adaptações e extensões de slides disponíveis em http://ww3.datastructures.net

Leia mais

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas

Algoritmo. Exemplo. Definição. Programação de Computadores Comparando Algoritmos. Alan de Freitas Algoritmos Programação de Computadores Comparando Algoritmos Um algoritmo é um procedimento de passos para cálculos. Este procedimento é composto de instruções que definem uma função Até o momento, vimos

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

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

CT-234. 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 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches Bibliografia T.H. Cormen, C.E. Leiserson and R.L. Rivest Introduction to algorithms R. Sedgewick

Leia mais

4. Algoritmos de Busca em Vetores

4. Algoritmos de Busca em Vetores Introdução à Computação II 5952011 4. Algoritmos de Busca em Vetores Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 4.1. Introdução 4.2. Busca Linear 4.2.1.

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 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 SCE-181 Introdução à Ciência da Computação II Alneu Lopes Thiago A. S. Pardo 1 Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado

Leia mais

Análise de Algoritmos Estrutura de Dados II

Análise de Algoritmos Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

Algoritmos 3/17/ Algoritmos como área de estudo e investigação

Algoritmos 3/17/ Algoritmos como área de estudo e investigação Algoritmos e Complexidade Ana Teresa Freitas INESC-ID/IST ID/IST 3/17/2005 1 O que é um algoritmo? Algoritmos: Sequência de instruções necessárias para a resolução de um problema bem formulado [passíveis

Leia mais

Análise de algoritmos. Parte I

Análise de algoritmos. Parte I Análise de algoritmos Parte I 1 Recursos usados por um algoritmo Uma vez que um procedimento está pronto/disponível, é importante determinar os recursos necessários para sua execução Tempo Memória Qual

Leia mais

Análise de algoritmos. Parte I

Análise de algoritmos. Parte I Análise de algoritmos Parte I 1 Procedimento X Algoritmo Procedimento: sequência finita de instruções, que são operações claramente descritas, e que podem ser executadas mecanicamente, em tempo finito.

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

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

ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira

ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Grafos 7. Complexidade 8. Ordenação 9. Busca Sugestão bibliográfica: ESTRUTURAS DE DADOS

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

4. Algoritmos de Busca em Vetores

4. Algoritmos de Busca em Vetores Introdução à Computação II 5952011 4. Algoritmos de Busca em Vetores Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 4.1. Introdução 4.2. Busca Linear 4.2.1.

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

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Aula 04 Prof. Fernando Freitas Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então O(f) é considerada a complexidade assintótica ou o

Leia mais

Medida do Tempo de Execução de um Programa

Medida do Tempo de Execução de um Programa Medida do Tempo de Execução de um Programa Livro Projeto de Algoritmos Nívio Ziviani Capítulo 1 Seção 1.3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Comportamento Assintótico de Funções O parâmetro n

Leia mais

Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível:

Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Comparar algoritmos: existem algoritmos que resolvem o mesmo tipo de problema. Determinar se o algoritmo é ótimo :

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são

Leia mais

Análise de algoritmos Parte I

Análise de algoritmos Parte I Parte I SCE-8 Introdução à Ciência da Computação II Rosane Minghim Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado problema Cormen et al. (2002) Qualquer

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

Análise de Complexidade de Algoritmos. mario alexandre gazziro

Análise de Complexidade de Algoritmos. mario alexandre gazziro Análise de Complexidade de Algoritmos mario alexandre gazziro Definição A complexidade de um algoritmo consiste na quantidade de esforço computacional necessária para sua execução. Esse esforço é expresso

Leia mais

ANÁLISE DE ALGORITMOS: PARTE 3

ANÁLISE DE ALGORITMOS: PARTE 3 ANÁLISE DE ALGORITMOS: PARTE 3 Prof. André Backes 2 A notação grande-o é a forma mais conhecida e utilizada de análise Complexidade do nosso algoritmo no pior caso Seja de tempo ou de espaço É o caso mais

Leia mais

Introdução à Análise de Algoritmos

Introdução à Análise de Algoritmos Quanto tempo leva a execução de determinado algoritmo? Quando temos dois algoritmos que fazem a mesma coisa, qual deles leva menos tempo? A análise do algoritmo preocupa-se com as questões acima. É sempre

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

Técnicas de Programação III Análise de Algoritmos (Continuação)

Técnicas de Programação III Análise de Algoritmos (Continuação) Técnicas de Programação III Análise de Algoritmos (Continuação) Aula ministrada em: 23/08/2007 Prof. Mauro L. C. Silva 1/10 Objetivos da Aula Entender a Análise e a Complexidade de Algoritmos 2/10 Avaliação

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 06 Notação O humberto@bcc.unifal-mg.edu.br Tempo de execução (ms) Última aula teórica Análise experimental 45 40 35 30 25 20 15 10 5

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

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

Introdução à Ciência da Computação II Introdução à Ciência da Computação II 2semestre/200 Prof Alneu de Andrade Lopes Apresentação com material gentilmente cedido pelas profas Renata Pontin Mattos Fortes http://wwwicmcuspbr/~renata e Graça

Leia mais

Estruturas de Dados Algoritmos

Estruturas de Dados Algoritmos Estruturas de Dados Algoritmos Prof. Eduardo Alchieri Algoritmos (definição) Sequência finita de instruções para executar uma tarefa Bem definidas e não ambíguas Executáveis com uma quantidade de esforço

Leia mais

Técnicas de análise de algoritmos

Técnicas de análise de algoritmos CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Técnicas de análise de algoritmos Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br

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

ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS. Armanda Rodrigues 3 de Outubro 2011

ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS. Armanda Rodrigues 3 de Outubro 2011 ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS Armanda Rodrigues 3 de Outubro 2011 2 Análise de Algoritmos Temos até agora analisado soluções de problemas de forma intuitiva A análise

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

Pra início de conversa... O que é um algoritmo? Exemplos de algoritmos. Como podemos descrever algoritmos? Como podemos descrever algoritmos?

Pra início de conversa... O que é um algoritmo? Exemplos de algoritmos. Como podemos descrever algoritmos? Como podemos descrever algoritmos? Pra início de conversa... O que é um algoritmo? Como podemos descrever algoritmos? avaliar algoritmos? Introdução à Análise de Algoritmos Prof. Cláudio E. C. Campelo http://claudiocampelo.com Derivado

Leia mais

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

01 Análise de Algoritmos (parte 2) SCC201/501 - Introdução à Ciência de Computação II 01 Análise de Algoritmos (parte 2) 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

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa

ANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo

Leia mais

Análise de algoritmos

Análise de algoritmos Análise de algoritmos Introdução à Ciência da Computação 2 Baseado nos slides do Prof. Thiago A. S. Pardo Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Fluxograma e pseudocódigo Elementos de um fluxograma Pseudocódigo

Leia mais

Teoria da Computação Aula 8 Noções de Complexidade

Teoria da Computação Aula 8 Noções de Complexidade Teoria da Computação Aula 8 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Motivação: Por que estudar algoritmos? Perguntas: - Por que estudar algoritmos se os computadores

Leia mais

Algoritmos e Estruturas de Dados I Aula 06 Custos de um algoritmo

Algoritmos e Estruturas de Dados I Aula 06 Custos de um algoritmo Algoritmos e Estruturas de Dados I Aula 06 Custos de um algoritmo Prof. Jesús P. Mena-Chalco 1Q-2019 1 lista 3 7-2 6 NULL Node *Busca(int x, Node *lista) { while (lista!=null && lista->data!=x) lista =

Leia mais

Teoria da Computação Aula 9 Noções de Complexidade

Teoria da Computação Aula 9 Noções de Complexidade Teoria da Computação Aula 9 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Análise de um Algoritmo em particular Qual é o custo de usar um dado algoritmo para resolver um

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

7. Introdução à Complexidade de Algoritmos

7. Introdução à Complexidade de Algoritmos 7. Introdução à Complexidade de Algoritmos Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 7. Introdução à Complexidade de Algoritmos Estruturas de Dados 1 / 1 Análise de Algoritmos

Leia mais

7. Introdução à Complexidade de Algoritmos

7. Introdução à Complexidade de Algoritmos 7. Introdução à Complexidade de Algoritmos Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 7. Introdução à Complexidade de Algoritmos Estruturas de Dados 1 / 1 Análise de Algoritmos

Leia mais

1.1 o que é um algoritmo... 6

1.1 o que é um algoritmo... 6 sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento

Leia mais

Teoria da computabilidade Indecidíveis Decidíveis

Teoria da computabilidade Indecidíveis Decidíveis Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:

Leia mais

Análise de algoritmos Parte I

Análise de algoritmos Parte I Análise de algoritmos Parte I SCE-181 Introdução à Ciência da Computação II Rosane Minghim Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado problema Cormen

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução

Leia mais

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo

Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of

Leia mais

a complexidade no desempenho de algoritmos

a complexidade no desempenho de algoritmos capítulo 1 introdução Os algoritmos são o cerne da computação. Este capítulo introdutório procura ressaltar a importância da complexidade e dos métodos de projeto e análise de algoritmos. Partindo da ideia

Leia mais

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO

ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO ESTRUTURAS DE DADOS E ALGORITMOS APRESENTAÇÃO DO CURSO E INTRODUÇÃO Adalberto Cajueiro (adalberto@computacao.ufcg.edu.br) Departamento de Sistemas e Computação Universidade Federal de Campina Grande 1

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

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

Comportamento assintótico

Comportamento assintótico ANÁLISE DE ALGORITMOS: PARTE 2 Prof. André Backes 2 Na última aula, vimos que o custo para o algoritmo abaixo é dado pela função f(n) = 4n + 3 1 3 Essa é a função de complexidade de tempo Nos dá uma ideia

Leia mais

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol PDA - Repetição Estruturas de repetição Slides adaptação de Deise Saccol 1 Existem situações em que o processamento de um valor uma única vez não é suficiente para resolver o problema. Quando isto ocorre,

Leia mais

Noções de complexidade de algoritmos

Noções de complexidade de algoritmos Noções de complexidade de algoritmos 358 Tempo de Execução A avaliação de desempenho de um algoritmo quanto executado por um computador pode ser feita a posteriori ou a priori. Uma avaliação a posteriori

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade

MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 3Q-2017 1 0 A = n-1... 2 0 A = n-1... - O programa funciona (está correto)? - Como medir/mensurar

Leia mais

Programação Estruturada

Programação Estruturada Algoritmos e Técnicas - Estruturas de Controle de Fluxo - Programação Estruturada Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática. Utilizada para apresentar

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Lógica de Programação Construção de Algoritmos Estruturas de Repetição Reinaldo Gomes reinaldo@cefet-al.br Estruturas de Repetição Com o conhecimento adquirido até aqui, ainda não é possível

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

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

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos 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 Notações = para todo = existe! = único

Leia mais

Classificação de Dados

Classificação de Dados Engenharia de CONTROLE e AUTOMAÇÃO Classificação de Dados Aula 01 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Complexidade de Algoritmos 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.2 1 Introdução Complexidade computacional Termo criado por Hartmanis e Stearns (1965)

Leia mais

MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo

MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo MCTA028 Programação Estruturada Aula 20 Exercícios de custos de um algoritmo Prof. Jesús P. Mena-Chalco Q-2017 1 Estudo de algoritmos O projeto de algoritmos é influenciado pelo estudo de seus comportamentos.

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Prof. Eduardo Barrére www.ufjf.br/pgcc www.dcc.ufjf.br eduardo.barrere@ice.ufjf.br www.barrere.ufjf.br Consumo de tempo assintótico Seja A um algoritmo para um problema

Leia mais

Lógica de Programação Completo

Lógica de Programação Completo CONTEÚDO PROGRAMÁTICO Lógica de Programação Completo Carga horária: 40 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO 1

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

Análise de Complexidade de Algoritmos

Análise de Complexidade de Algoritmos Análise de Complexidade de Algoritmos Algoritmos e Estruturas de Dados 2009/2010 Introdução Algoritmo: conjunto claramente especificado de instruções a seguir para resolver um problema Análise de algoritmos:

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

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

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

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - Algoritmo 1.2 - Estrutura de Dados 1.2.1 - Revisão de Programas em C++ envolvendo Vetores, Matrizes, Ponteiros, Registros

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de

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

O que é um Algoritmo?

O que é um Algoritmo? Introdução a Ciências da Computação Capítulo 2 O que é um Algoritmo? Página Tópicos Histórico Estruturas de Controle Comandos em seqüência Estruturas Condicionais Álgebra Booleana Estruturas de Repetição

Leia mais

Módulo 7. Complexidade de Algoritmos. Algoritmos e Estruturas de Dados II C++ Rone Ilídio

Módulo 7. Complexidade de Algoritmos. Algoritmos e Estruturas de Dados II C++ Rone Ilídio Módulo 7 Complexidade de Algoritmos Algoritmos e Estruturas de Dados II C++ Rone Ilídio Tempo de execução de um programa Qual algoritm executará mais rápido? int main(){ SYSTEMTIME inicio,fim; GetSystemTime(&inicio);

Leia mais

ESTRUTURAS DE REPETIÇÃO - PARTE 1

ESTRUTURAS DE REPETIÇÃO - PARTE 1 AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a

Leia mais

Análise de Algoritmos Parte 4

Análise de Algoritmos Parte 4 Análise de Algoritmos Parte 4 Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 07 Algoritmos e Estruturas de Dados I Como escolher o algoritmo mais adequado para uma situação? (continuação)

Leia mais

Algoritmos Estrutura Condicional

Algoritmos Estrutura Condicional Algoritmos Estrutura Condicional Aula 06 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Planificação a médio e longo prazo. Matemática B. 11º Ano de escolaridade. Total de aulas previstas: 193. Ano letivo 2015/2016

Planificação a médio e longo prazo. Matemática B. 11º Ano de escolaridade. Total de aulas previstas: 193. Ano letivo 2015/2016 Planificação a médio e longo prazo Matemática B 11º Ano de escolaridade. Total de aulas previstas: 193 Ano letivo 2015/2016 Professor responsável: Paulo Sousa I O programa Matemática B do 11º Ano - Página

Leia mais

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais

Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição. Estruturas de Repetição Condicionais Construção de Algoritmos Algoritmos e Lógica de Programação Com o conhecimento adquirido até aqui, ainda não é possível fazer iterações! Como escrever algoritmos que façam iteração de instruções? Usar!

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