SlideShare uma empresa Scribd logo
1 de 12
COMPLEXIDADE DE
PROBLEMAS
Prof.: Marlon Vinicius da Silva
Disciplina: Computação e Algoritmo I
Eficiência de algoritmos


Que recursos computacionais são necessários
para executar um algoritmo?
 Tempo

de execução = Complexidade Temporal
 Espaço de memória = Complexidade Espacial


Espaço e tempo dependem da dimensão dos
dados. Podemos portanto representar a
eficiência por funções!
Eficiência de algoritmos




Na prática é muito difícil calcular com rigor o
tempo de execução de um algoritmo!
Identificar no algoritmo as operações elementares
e determinar o número de vezes que são
executadas.
O tempo real de execução de cada operação
elementar será uma constante multiplicativa!
 Independentemente do computador!




Dados vários algoritmos para solucionar um
mesmo problema, devemos escolher aquele que
nos permite resolver o problema mais
rapidamente e utilizando o menor espaço possível
para representar os dados do problema!
Eficiência de algoritmos






Um algoritmo pode ser mais eficiente que
outro para inputs de “pequena” dimensão e
deixar de o ser para inputs de “grande”
dimensão.
Um algoritmo pode ser mais eficiente que
outro em tempo e não o ser em espaço.
Mais ainda, diferentes amostras com a mesma
dimensão podem ser processadas em tempos
diferentes, podendo-se falar de eficiência
temporal mínima (melhor caso), máxima
(pior caso) e média.
Ordem de Complexidade




Normalmente a análise de algoritmos é
simplificada se nos concentrarmos na sua
eficiência assintótica.
Exemplos:
 (n+1)/2

= O(n)
 2n3+2n -7 = O(n3)
 (n2+5)(n-3) = O(n3)
 ln n = O(log2 n)
 25 = O(n0) = O(1)
Classes de Complexidade
Algorítmica











O(1) Complexidade Constante
O(log n) Complexidade Logarítmica
O(n) Complexidade Linear
O(n log n) Complexidade Log-Linear
O(n2) Complexidade Quadrática
O(n3) Complexidade Cúbica
O(nk) Complexidade Polinomial
O(an) Complexidade Exponencial
O(n!) Complexidade Factorial
Classes de Complexidade
Algorítmica
10

50

100

1000

104

105

106

Log2 n

3

5

6

9

13

16

19

n

10

50

100

1000

104

105

106

n log2 n

30

282

664

9965

105

106

107

n2

100

2500

104

106

108

1010

1012

n3

1000

125000

106

109

1012

1015

1018

2n

1000

1016

1030

10300

103000

1030000

10300000

n!

106

1065

10160

Bomba! Bomba! Bomba! Bomba!

nn

1010

1085

10200

Bomba! Bomba! Bomba! Bomba!
Classes de Complexidade
Algorítmica


Com 210 ≈103 , logo, Bomba! ≈ número grande
inimaginável










1 dia 24 X 60 X 60 = 86400 ≈ 9 X 1010 microssegundos
1 ano = 365 X 24 X 60 X 60 § 3 X 107 segundos ≈3 X 1013
microssegundos
1 século ≈ 3 X 109 segundos ≈ 3 X 1015 microssegundos
1 milênio ≈ 3 X 1010 segundos ≈ 3 X 1016 microssegundos
Big Bang ≈ 15 X 109 anos ≈ 45 X 1016 segundos ≈ 45 X
1022 microssegundos

Algoritmos de complexidade constante e logarítmica
são os mais eficientes
Algoritmos de complexidade exponencial geram
tempos de execução incomputáveis
Complexidade de um problema


O limite superior é estabelecido pelo melhor
algoritmo, entre os algoritmos conhecidos.
A

descoberta de um novo algoritmo mais eficiente
faz descer o limite superior.



O limite inferior é estabelecido por técnicas de
prova que comprovem que não existem
algoritmos mais eficientes.
 Qualquer

algoritmo, conhecido ou desconhecido,
deverá ser mais complexo do que esse limite.
Notações


Θ(theta) – A expressão f(n) = Θ(g(n)) significa que as
funções f(n) e g(n) possuem a mesma ordem de
crescimento, isto é, crescem de forma equiparável.






As funções n2 e 5n2, por exemplo, crescem em ritmo
quadrático.

O(O maiúsculo ou big o) – A expressão f(n) =
O(g(n)) significa que f(n) não cresce mais que g(n),
podendo crescer de forma igual ou inferior.
o (o minúsculo) – e f(n) = O(g(n)), a ordem de
crescimento de f(n) nunca será maior que a de g(n),
podendo ser igual. Entretanto, se f(n) = o(g(n)), a
ordem de crescimento de f(n) nunca será maior nem
igual à de g(n)
Notações




Ω(Omega maiúsculo) – A expressão f(n) =
Ω(g(n)) significa que a ordem de crescimento
de f(n) é maior ou igual à ordem de g(n)
ω(ômega minúsculo) - A notação ω denota
um limite assintótico inferior, assim como Ω. A
diferença é que, se f(n) = ω(g(n)),
para qualquer constante c > 0 que multiplique
g(n) existe um n0 > 0 tal que para todo n ≥ no,
f(n) nunca será menor nem igual a g(n).
Assim, diferentemente de Ω, o crescimento da
função f(n) nunca se igualará ao de g(n).
Notações


A analogia com números reais tornou o
entendimento das notações mais intuitivo,
com a visualização das regras:
 f(n)

= O(g(n)) ≈ a ≤ b,
 f(n) = Ω(g(n)) ≈ a ≥ b,
 f(n) = Θ(g(n)) ≈ a = b,
 f(n) = o(g(n)) ≈ a < b,
 f(n) = ω(g(n)) ≈ a > b.

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

4ª questão
4ª questão4ª questão
4ª questão
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Aula de Recuperação Matemática
Aula de Recuperação MatemáticaAula de Recuperação Matemática
Aula de Recuperação Matemática
 
Aula de Recuperação Matemática
Aula de Recuperação MatemáticaAula de Recuperação Matemática
Aula de Recuperação Matemática
 
F1 aaula 04 - velocidade instantânea.
F1  aaula 04 - velocidade instantânea.F1  aaula 04 - velocidade instantânea.
F1 aaula 04 - velocidade instantânea.
 
Questão 03
Questão 03Questão 03
Questão 03
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
Mu
MuMu
Mu
 
Aula18
Aula18 Aula18
Aula18
 
Tutorial blender animação básica
Tutorial blender animação básicaTutorial blender animação básica
Tutorial blender animação básica
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
 
NÚMEROS COMPLEXOS - PARTE 02
NÚMEROS COMPLEXOS - PARTE 02NÚMEROS COMPLEXOS - PARTE 02
NÚMEROS COMPLEXOS - PARTE 02
 
Seno coseno 102 26
Seno coseno 102 26Seno coseno 102 26
Seno coseno 102 26
 
Análise de Algoritmos - Recursividade
Análise de Algoritmos - RecursividadeAnálise de Algoritmos - Recursividade
Análise de Algoritmos - Recursividade
 
Orientação de estudo para movimento circular uniforme
Orientação de estudo para movimento circular uniformeOrientação de estudo para movimento circular uniforme
Orientação de estudo para movimento circular uniforme
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NP
 
Aula 10
Aula   10Aula   10
Aula 10
 
Desenvolvimento de algumas séries
Desenvolvimento de algumas sériesDesenvolvimento de algumas séries
Desenvolvimento de algumas séries
 
Aula 9
Aula   9Aula   9
Aula 9
 

Destaque

Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9André Phillip Bertoletti
 

Destaque (20)

07 exercícios
07   exercícios07   exercícios
07 exercícios
 
03 bases numericas
03   bases numericas03   bases numericas
03 bases numericas
 
06 áudio
06   áudio06   áudio
06 áudio
 
08 video digital
08   video digital08   video digital
08 video digital
 
01 aula inicial apresentação
01   aula inicial  apresentação01   aula inicial  apresentação
01 aula inicial apresentação
 
05 - Aervidor DHCP
05 - Aervidor DHCP05 - Aervidor DHCP
05 - Aervidor DHCP
 
07 animação
07   animação07   animação
07 animação
 
07 - Atividade III
07 - Atividade III07 - Atividade III
07 - Atividade III
 
09 texto e hipertexto
09   texto e hipertexto09   texto e hipertexto
09 texto e hipertexto
 
05 circuitos logicos
05   circuitos logicos05   circuitos logicos
05 circuitos logicos
 
05 imagem digital
05   imagem digital05   imagem digital
05 imagem digital
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7
 
Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1Interface Homem-máquina - Unimep/Pronatec - Aula 1
Interface Homem-máquina - Unimep/Pronatec - Aula 1
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9
 
Aula analise algoritmos
Aula analise algoritmosAula analise algoritmos
Aula analise algoritmos
 

Semelhante a 06 complexidade de problemas

Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfItaloRainier1
 
Algoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfAlgoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfCaiqueMiranda7
 
EDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdfEDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdfSimoneSantos16595
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaDelacyr Ferreira
 
Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude LoianeLoiane Groner
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Método de Euler Progressivo
Método de Euler Progressivo Método de Euler Progressivo
Método de Euler Progressivo Rafael Lucas
 
Relatório do projecto computacional grupo 72
Relatório do projecto computacional   grupo 72Relatório do projecto computacional   grupo 72
Relatório do projecto computacional grupo 72Rafael Lucas
 
Manual winplot
Manual winplotManual winplot
Manual winplotFranbfk
 
Sequencias e series unicamp
Sequencias e series   unicampSequencias e series   unicamp
Sequencias e series unicampLuis Gustavo
 

Semelhante a 06 complexidade de problemas (20)

Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdf
 
Algoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdfAlgoritmo de programação dinâmica-01.pdf
Algoritmo de programação dinâmica-01.pdf
 
EDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdfEDA_Aula_09_Complexidade_2021.1.pdf
EDA_Aula_09_Complexidade_2021.1.pdf
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
Progressões
ProgressõesProgressões
Progressões
 
Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude Loiane
 
Complexidade algoritmos
Complexidade algoritmosComplexidade algoritmos
Complexidade algoritmos
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Progressão.pdf
Progressão.pdfProgressão.pdf
Progressão.pdf
 
Logaritimos
LogaritimosLogaritimos
Logaritimos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Log 2016
Log 2016Log 2016
Log 2016
 
Método de Euler Progressivo
Método de Euler Progressivo Método de Euler Progressivo
Método de Euler Progressivo
 
Relatório do projecto computacional grupo 72
Relatório do projecto computacional   grupo 72Relatório do projecto computacional   grupo 72
Relatório do projecto computacional grupo 72
 
Manual winplot
Manual winplotManual winplot
Manual winplot
 
Sequencias e series unicamp
Sequencias e series   unicampSequencias e series   unicamp
Sequencias e series unicamp
 
Aula2
Aula2Aula2
Aula2
 
Cinemática
CinemáticaCinemática
Cinemática
 

Mais de Marlon Vinicius da Silva (18)

Modelo de plano de ensino computação e algoritmo i
Modelo de plano de ensino computação e algoritmo iModelo de plano de ensino computação e algoritmo i
Modelo de plano de ensino computação e algoritmo i
 
02 historia da programação
02   historia da programação02   historia da programação
02 historia da programação
 
01 aula inicial apresentação
01   aula inicial  apresentação01   aula inicial  apresentação
01 aula inicial apresentação
 
01 aula inicial apresentação
01   aula inicial  apresentação01   aula inicial  apresentação
01 aula inicial apresentação
 
05 servidor dhcp
05   servidor dhcp05   servidor dhcp
05 servidor dhcp
 
03 testando a configuração de uma rede
03   testando a configuração de uma rede03   testando a configuração de uma rede
03 testando a configuração de uma rede
 
04 produto hipermidia
04   produto hipermidia04   produto hipermidia
04 produto hipermidia
 
02 conceitos iniciais
02   conceitos iniciais02   conceitos iniciais
02 conceitos iniciais
 
01 aula inicial apresentação
01   aula inicial  apresentação01   aula inicial  apresentação
01 aula inicial apresentação
 
03 ferramentas de autoria
03   ferramentas de autoria03   ferramentas de autoria
03 ferramentas de autoria
 
05 servidor dhcp
05   servidor dhcp05   servidor dhcp
05 servidor dhcp
 
04 atividade ii
04   atividade ii04   atividade ii
04 atividade ii
 
03 diagnostico de rede
03   diagnostico de rede03   diagnostico de rede
03 diagnostico de rede
 
02 configurando placa de rede
02   configurando placa de rede02   configurando placa de rede
02 configurando placa de rede
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
Usabilidade
UsabilidadeUsabilidade
Usabilidade
 
Interface homem maquina introdução
Interface homem maquina   introduçãoInterface homem maquina   introdução
Interface homem maquina introdução
 
Interface homem maquina introdução
Interface homem maquina   introduçãoInterface homem maquina   introdução
Interface homem maquina introdução
 

Último

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarIedaGoethe
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 

Último (20)

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogar
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 

06 complexidade de problemas

  • 1. COMPLEXIDADE DE PROBLEMAS Prof.: Marlon Vinicius da Silva Disciplina: Computação e Algoritmo I
  • 2. Eficiência de algoritmos  Que recursos computacionais são necessários para executar um algoritmo?  Tempo de execução = Complexidade Temporal  Espaço de memória = Complexidade Espacial  Espaço e tempo dependem da dimensão dos dados. Podemos portanto representar a eficiência por funções!
  • 3. Eficiência de algoritmos   Na prática é muito difícil calcular com rigor o tempo de execução de um algoritmo! Identificar no algoritmo as operações elementares e determinar o número de vezes que são executadas. O tempo real de execução de cada operação elementar será uma constante multiplicativa!  Independentemente do computador!   Dados vários algoritmos para solucionar um mesmo problema, devemos escolher aquele que nos permite resolver o problema mais rapidamente e utilizando o menor espaço possível para representar os dados do problema!
  • 4. Eficiência de algoritmos    Um algoritmo pode ser mais eficiente que outro para inputs de “pequena” dimensão e deixar de o ser para inputs de “grande” dimensão. Um algoritmo pode ser mais eficiente que outro em tempo e não o ser em espaço. Mais ainda, diferentes amostras com a mesma dimensão podem ser processadas em tempos diferentes, podendo-se falar de eficiência temporal mínima (melhor caso), máxima (pior caso) e média.
  • 5. Ordem de Complexidade   Normalmente a análise de algoritmos é simplificada se nos concentrarmos na sua eficiência assintótica. Exemplos:  (n+1)/2 = O(n)  2n3+2n -7 = O(n3)  (n2+5)(n-3) = O(n3)  ln n = O(log2 n)  25 = O(n0) = O(1)
  • 6. Classes de Complexidade Algorítmica          O(1) Complexidade Constante O(log n) Complexidade Logarítmica O(n) Complexidade Linear O(n log n) Complexidade Log-Linear O(n2) Complexidade Quadrática O(n3) Complexidade Cúbica O(nk) Complexidade Polinomial O(an) Complexidade Exponencial O(n!) Complexidade Factorial
  • 7. Classes de Complexidade Algorítmica 10 50 100 1000 104 105 106 Log2 n 3 5 6 9 13 16 19 n 10 50 100 1000 104 105 106 n log2 n 30 282 664 9965 105 106 107 n2 100 2500 104 106 108 1010 1012 n3 1000 125000 106 109 1012 1015 1018 2n 1000 1016 1030 10300 103000 1030000 10300000 n! 106 1065 10160 Bomba! Bomba! Bomba! Bomba! nn 1010 1085 10200 Bomba! Bomba! Bomba! Bomba!
  • 8. Classes de Complexidade Algorítmica  Com 210 ≈103 , logo, Bomba! ≈ número grande inimaginável        1 dia 24 X 60 X 60 = 86400 ≈ 9 X 1010 microssegundos 1 ano = 365 X 24 X 60 X 60 § 3 X 107 segundos ≈3 X 1013 microssegundos 1 século ≈ 3 X 109 segundos ≈ 3 X 1015 microssegundos 1 milênio ≈ 3 X 1010 segundos ≈ 3 X 1016 microssegundos Big Bang ≈ 15 X 109 anos ≈ 45 X 1016 segundos ≈ 45 X 1022 microssegundos Algoritmos de complexidade constante e logarítmica são os mais eficientes Algoritmos de complexidade exponencial geram tempos de execução incomputáveis
  • 9. Complexidade de um problema  O limite superior é estabelecido pelo melhor algoritmo, entre os algoritmos conhecidos. A descoberta de um novo algoritmo mais eficiente faz descer o limite superior.  O limite inferior é estabelecido por técnicas de prova que comprovem que não existem algoritmos mais eficientes.  Qualquer algoritmo, conhecido ou desconhecido, deverá ser mais complexo do que esse limite.
  • 10. Notações  Θ(theta) – A expressão f(n) = Θ(g(n)) significa que as funções f(n) e g(n) possuem a mesma ordem de crescimento, isto é, crescem de forma equiparável.    As funções n2 e 5n2, por exemplo, crescem em ritmo quadrático. O(O maiúsculo ou big o) – A expressão f(n) = O(g(n)) significa que f(n) não cresce mais que g(n), podendo crescer de forma igual ou inferior. o (o minúsculo) – e f(n) = O(g(n)), a ordem de crescimento de f(n) nunca será maior que a de g(n), podendo ser igual. Entretanto, se f(n) = o(g(n)), a ordem de crescimento de f(n) nunca será maior nem igual à de g(n)
  • 11. Notações   Ω(Omega maiúsculo) – A expressão f(n) = Ω(g(n)) significa que a ordem de crescimento de f(n) é maior ou igual à ordem de g(n) ω(ômega minúsculo) - A notação ω denota um limite assintótico inferior, assim como Ω. A diferença é que, se f(n) = ω(g(n)), para qualquer constante c > 0 que multiplique g(n) existe um n0 > 0 tal que para todo n ≥ no, f(n) nunca será menor nem igual a g(n). Assim, diferentemente de Ω, o crescimento da função f(n) nunca se igualará ao de g(n).
  • 12. Notações  A analogia com números reais tornou o entendimento das notações mais intuitivo, com a visualização das regras:  f(n) = O(g(n)) ≈ a ≤ b,  f(n) = Ω(g(n)) ≈ a ≥ b,  f(n) = Θ(g(n)) ≈ a = b,  f(n) = o(g(n)) ≈ a < b,  f(n) = ω(g(n)) ≈ a > b.