SlideShare uma empresa Scribd logo

Análise da complexidade de algoritmos

Pablo Silva
Pablo Silva
Pablo SilvaProduct Engineering Coordinator em Locaweb

Material de apoio das aulas de tutoria de Algoritmos e Estrutura de dados da Universidade Federal de Ouro Preto, Campus João Monlevade. O conteúdo abordado é sobre análise da complexidade de algoritmos.

Análise da complexidade de algoritmos

1 de 34
Baixar para ler offline
Tutoria AEDSI
Pablo Silva
Recordar
é viver
• Definição de algoritmo
• Definição de tipo de dado
• Definição de TAD
• Análise de algoritmos
Hoje
• Análise da complexidade de
algoritmos
• Resolver exercícios
Mas antes...
Uma definição mais simples do que é tipo de dado
(pra responder na prova se cair!!!):
• Em linguagens de programação o tipo de dado de uma variável,
constante ou função define o conjunto de valores que a variável,
constante ou função pode assumir.
• Ex.: variável boolean pode assumir valores true ou false.
Portanto true e false é o conjunto de valores de uma variável
booleana.
Por que analisar um algoritmo?
Depois que decidimos qual o problema que
queremos resolver (Ex. encontrar um elemento
num conjunto de valores), precisamos ter certeza
que o algoritmo escolhido para o nosso problema,
irá resolvê-lo em um espaço de tempo e consumir
memória, num intervalo de tempo e quantidade
de memória gastas aceitáveis para nosso cliente.
Anúncio

Recomendados

Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonPriscila Mayumi
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 

Mais conteúdo relacionado

Mais procurados

Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃOINTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃOEdson Lima
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoLeonardo Melo Santos
 
Algoritmo Variaveis
Algoritmo   VariaveisAlgoritmo   Variaveis
Algoritmo VariaveisAndré Nobre
 
Variáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosVariáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosBrunoSilvaSantana
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIDaniel Brandão
 
SIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RHSIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RHAntonio Pinto Pereira
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasGustavo Gonzalez
 
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
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de SistemasNécio de Lima Veras
 
Tecnologias da Informacao E Comunicacao
Tecnologias da Informacao E ComunicacaoTecnologias da Informacao E Comunicacao
Tecnologias da Informacao E ComunicacaoM Fernanda Santos
 

Mais procurados (20)

Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula analise algoritmos
Aula analise algoritmosAula analise algoritmos
Aula analise algoritmos
 
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃOINTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
INTRODUÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Fundamentos de sistemas de informação
Fundamentos de sistemas de informaçãoFundamentos de sistemas de informação
Fundamentos de sistemas de informação
 
Algoritmo Variaveis
Algoritmo   VariaveisAlgoritmo   Variaveis
Algoritmo Variaveis
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Variáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dadosVariáveis, constantes e tipos de dados
Variáveis, constantes e tipos de dados
 
Aula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SIAula 3 Sistemas de Informação - Tipos de SI
Aula 3 Sistemas de Informação - Tipos de SI
 
SIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RHSIG - Sistema de Informação Gerencial - Técnico em RH
SIG - Sistema de Informação Gerencial - Técnico em RH
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
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...
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Tecnologias da Informacao E Comunicacao
Tecnologias da Informacao E ComunicacaoTecnologias da Informacao E Comunicacao
Tecnologias da Informacao E Comunicacao
 
Árvores de Decisão
Árvores de Decisão Árvores de Decisão
Árvores de Decisão
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 

Semelhante a Análise da complexidade de algoritmos

Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptssuserd654cb1
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptssuserd654cb1
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfItaloRainier1
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em Crodolfoeyalana
 
Sequencias e-series
Sequencias e-seriesSequencias e-series
Sequencias e-seriesjhujha
 
Relações de recorrência
Relações de recorrênciaRelações de recorrência
Relações de recorrênciaPablo Silva
 
Estatistica regular 8
Estatistica regular 8Estatistica regular 8
Estatistica regular 8J M
 
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
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmostuelocg
 
Tutorial aed iii 001 - algoritmo de ordenação shellsort
Tutorial aed iii   001 - algoritmo de ordenação shellsortTutorial aed iii   001 - algoritmo de ordenação shellsort
Tutorial aed iii 001 - algoritmo de ordenação shellsortFlávio Freitas
 
Cálculo Numérico
Cálculo NuméricoCálculo Numérico
Cálculo NuméricoSandro Lima
 
19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracaoRicardo Bolanho
 
Formulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedesFormulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedesericbaymarketconectrio
 

Semelhante a Análise da complexidade de algoritmos (20)

Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 
Artigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdfArtigo sobre complexibilidade complexity.pdf
Artigo sobre complexibilidade complexity.pdf
 
Metódos de Pesquisa em C
Metódos de Pesquisa em CMetódos de Pesquisa em C
Metódos de Pesquisa em C
 
Sequencias e-series
Sequencias e-seriesSequencias e-series
Sequencias e-series
 
Relações de recorrência
Relações de recorrênciaRelações de recorrência
Relações de recorrência
 
4 groebner danton4 dissertacao
4 groebner danton4 dissertacao4 groebner danton4 dissertacao
4 groebner danton4 dissertacao
 
Estatistica regular 8
Estatistica regular 8Estatistica regular 8
Estatistica regular 8
 
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
 
Cal i a02
Cal i a02Cal i a02
Cal i a02
 
06 complexidade de problemas
06   complexidade de problemas06   complexidade de problemas
06 complexidade de problemas
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tutorial aed iii 001 - algoritmo de ordenação shellsort
Tutorial aed iii   001 - algoritmo de ordenação shellsortTutorial aed iii   001 - algoritmo de ordenação shellsort
Tutorial aed iii 001 - algoritmo de ordenação shellsort
 
Cálculo Numérico
Cálculo NuméricoCálculo Numérico
Cálculo Numérico
 
19 algoritmos de enumeracao
19   algoritmos de enumeracao19   algoritmos de enumeracao
19 algoritmos de enumeracao
 
Python
PythonPython
Python
 
Formulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedesFormulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedes
 
Mat regra de sinais
Mat regra de sinaisMat regra de sinais
Mat regra de sinais
 

Mais de Pablo Silva

Agilidade, times e outras coisas mais
Agilidade, times e outras coisas maisAgilidade, times e outras coisas mais
Agilidade, times e outras coisas maisPablo Silva
 
Times de produto de alta performance
Times de produto de alta performanceTimes de produto de alta performance
Times de produto de alta performancePablo Silva
 
Times de produto de alta performance
Times de produto de alta performanceTimes de produto de alta performance
Times de produto de alta performancePablo Silva
 
Transformação Digital: Criando uma empresa financeiramente estratégica para o...
Transformação Digital: Criando uma empresa financeiramente estratégica para o...Transformação Digital: Criando uma empresa financeiramente estratégica para o...
Transformação Digital: Criando uma empresa financeiramente estratégica para o...Pablo Silva
 
OKR is the new black: porque esse framework está tão na moda?
OKR is the new black: porque esse framework está tão na moda?OKR is the new black: porque esse framework está tão na moda?
OKR is the new black: porque esse framework está tão na moda?Pablo Silva
 
Transformando times de desenvolvimento mercenários em times de produto missio...
Transformando times de desenvolvimento mercenários em times de produto missio...Transformando times de desenvolvimento mercenários em times de produto missio...
Transformando times de desenvolvimento mercenários em times de produto missio...Pablo Silva
 
As próximas ondas da tecnologia
As próximas ondas da tecnologiaAs próximas ondas da tecnologia
As próximas ondas da tecnologiaPablo Silva
 
Carreira Dev: dicas pra você que vai chegar na semana que vem
Carreira Dev: dicas pra você que vai chegar na semana que vemCarreira Dev: dicas pra você que vai chegar na semana que vem
Carreira Dev: dicas pra você que vai chegar na semana que vemPablo Silva
 
Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio
Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio
Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio Pablo Silva
 
Lets talk about OKRs
Lets talk about OKRsLets talk about OKRs
Lets talk about OKRsPablo Silva
 
2 anos usando OKRs: adeus achismo-driven
2 anos usando OKRs: adeus achismo-driven2 anos usando OKRs: adeus achismo-driven
2 anos usando OKRs: adeus achismo-drivenPablo Silva
 
Ágil nao é mais tendência, é sobrevivência!
Ágil nao é mais tendência, é sobrevivência!Ágil nao é mais tendência, é sobrevivência!
Ágil nao é mais tendência, é sobrevivência!Pablo Silva
 
Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...
Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...
Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...Pablo Silva
 
Nem só de codigo vive homem (Management version)
Nem só de codigo vive homem (Management version)Nem só de codigo vive homem (Management version)
Nem só de codigo vive homem (Management version)Pablo Silva
 
Nem só de código vive o homem (Versão para desenvolvedores)
Nem só de código vive o homem (Versão para desenvolvedores)Nem só de código vive o homem (Versão para desenvolvedores)
Nem só de código vive o homem (Versão para desenvolvedores)Pablo Silva
 
Dual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimento
Dual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimentoDual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimento
Dual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimentoPablo Silva
 
Revisão sobre ponteiros em C
Revisão sobre ponteiros em CRevisão sobre ponteiros em C
Revisão sobre ponteiros em CPablo Silva
 

Mais de Pablo Silva (20)

Agilidade, times e outras coisas mais
Agilidade, times e outras coisas maisAgilidade, times e outras coisas mais
Agilidade, times e outras coisas mais
 
Times de produto de alta performance
Times de produto de alta performanceTimes de produto de alta performance
Times de produto de alta performance
 
Times de produto de alta performance
Times de produto de alta performanceTimes de produto de alta performance
Times de produto de alta performance
 
Transformação Digital: Criando uma empresa financeiramente estratégica para o...
Transformação Digital: Criando uma empresa financeiramente estratégica para o...Transformação Digital: Criando uma empresa financeiramente estratégica para o...
Transformação Digital: Criando uma empresa financeiramente estratégica para o...
 
OKR is the new black: porque esse framework está tão na moda?
OKR is the new black: porque esse framework está tão na moda?OKR is the new black: porque esse framework está tão na moda?
OKR is the new black: porque esse framework está tão na moda?
 
Transformando times de desenvolvimento mercenários em times de produto missio...
Transformando times de desenvolvimento mercenários em times de produto missio...Transformando times de desenvolvimento mercenários em times de produto missio...
Transformando times de desenvolvimento mercenários em times de produto missio...
 
As próximas ondas da tecnologia
As próximas ondas da tecnologiaAs próximas ondas da tecnologia
As próximas ondas da tecnologia
 
Carreira Dev: dicas pra você que vai chegar na semana que vem
Carreira Dev: dicas pra você que vai chegar na semana que vemCarreira Dev: dicas pra você que vai chegar na semana que vem
Carreira Dev: dicas pra você que vai chegar na semana que vem
 
Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio
Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio
Dual Track Agile - A integração da tecnologia, experiência do usuário e negócio
 
Lets talk about OKRs
Lets talk about OKRsLets talk about OKRs
Lets talk about OKRs
 
2 anos usando OKRs: adeus achismo-driven
2 anos usando OKRs: adeus achismo-driven2 anos usando OKRs: adeus achismo-driven
2 anos usando OKRs: adeus achismo-driven
 
Ágil nao é mais tendência, é sobrevivência!
Ágil nao é mais tendência, é sobrevivência!Ágil nao é mais tendência, é sobrevivência!
Ágil nao é mais tendência, é sobrevivência!
 
Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...
Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...
Dual Track Agile - PO, UX e Marketing no seu pipelane de desenvolvimento de p...
 
Nem só de codigo vive homem (Management version)
Nem só de codigo vive homem (Management version)Nem só de codigo vive homem (Management version)
Nem só de codigo vive homem (Management version)
 
Nem só de código vive o homem (Versão para desenvolvedores)
Nem só de código vive o homem (Versão para desenvolvedores)Nem só de código vive o homem (Versão para desenvolvedores)
Nem só de código vive o homem (Versão para desenvolvedores)
 
Dual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimento
Dual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimentoDual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimento
Dual track Agile - Incluindo o PO e UX em seu pipeline de desenvolvimento
 
Revisão sobre ponteiros em C
Revisão sobre ponteiros em CRevisão sobre ponteiros em C
Revisão sobre ponteiros em C
 
Structs em C
Structs em CStructs em C
Structs em C
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Funções em C
Funções em CFunções em C
Funções em C
 

Último

O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!Psyc company
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...azulassessoriaacadem3
 
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdfPLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdfkeiciany
 
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docxPROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docxssuser86fd77
 
Q20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdfQ20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdfPedroGual4
 
Atividades sobre as Fontes Históricas e Patrimônio.
Atividades sobre as Fontes Históricas e Patrimônio.Atividades sobre as Fontes Históricas e Patrimônio.
Atividades sobre as Fontes Históricas e Patrimônio.Jean Carlos Nunes Paixão
 
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGOLUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGOxogilo3990
 
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdfPLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdfkeiciany
 
COMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIA
COMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIACOMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIA
COMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIAHisrelBlog
 
1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...
1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...
1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...azulassessoriaacadem3
 
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...azulassessoriaacadem3
 
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdfkelvindasilvadiasw
 
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...azulassessoriaacadem3
 
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...azulassessoriaacadem3
 
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdfPLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdfkeiciany
 
1) Cite os componentes que devem fazer parte de uma sessão de treinamento.
1) Cite os componentes que devem fazer parte de uma sessão de treinamento.1) Cite os componentes que devem fazer parte de uma sessão de treinamento.
1) Cite os componentes que devem fazer parte de uma sessão de treinamento.azulassessoriaacadem3
 
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfddddddddddddddddddddddddddddddddddddRenandantas16
 
COSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdf
COSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdfCOSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdf
COSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdfalexandrerodriguespk
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...azulassessoriaacadem3
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...azulassessoriaacadem3
 

Último (20)

O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
O Guia Definitivo para Investir em Bitcoin: Domine o Mercado Hoje!
 
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...2. Como o entrevistado descreve a gestão e execução dos principais processos ...
2. Como o entrevistado descreve a gestão e execução dos principais processos ...
 
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdfPLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 7º ANO.pdf
 
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docxPROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
PROJETO INTERDISCIPLINAR 6º AO 9º ANOS - 2.docx
 
Q20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdfQ20 - Reações fotoquímicas.pdf
Q20 - Reações fotoquímicas.pdf
 
Atividades sobre as Fontes Históricas e Patrimônio.
Atividades sobre as Fontes Históricas e Patrimônio.Atividades sobre as Fontes Históricas e Patrimônio.
Atividades sobre as Fontes Históricas e Patrimônio.
 
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGOLUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
LUSSOCARS TRABAJO PARA LA CLASE QUE TENGO
 
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdfPLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 6º ANO.pdf
 
COMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIA
COMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIACOMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIA
COMTE, O POSITIVISMO E AS ORIGENS DA SOCIOLOGIA
 
1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...
1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...
1. Ciente das novas dinâmicas do mundo do trabalho, você deve pesquisar e des...
 
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
5. Na sua opinião, em que medida os princípios da ORT de Taylor ainda são rel...
 
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
3° ENSINO MÉDIO PLANO ANUAL ARTES 2024.pdf
 
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
2) Descreva os princípios fundamentais para uma prescrição de exercícios físi...
 
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
5. ​Agora suponha que esse mesmo aluno é do sexo feminino, você irá utilizar ...
 
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdfPLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdf
PLANO DE CURSO 2O24- ENSINO RELIGIOSO 9º ANO.pdf
 
1) Cite os componentes que devem fazer parte de uma sessão de treinamento.
1) Cite os componentes que devem fazer parte de uma sessão de treinamento.1) Cite os componentes que devem fazer parte de uma sessão de treinamento.
1) Cite os componentes que devem fazer parte de uma sessão de treinamento.
 
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
004820000101011 (15).pdffdfdfdddddddddddddddddddddddddddddddddddd
 
COSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdf
COSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdfCOSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdf
COSMOLOGIA DA ENERGIA ESTRELAS - VOLUME 6. EDIÇÃO 2^^.pdf
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
 
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
ATIVIDADE PROPOSTA: Considerando o "estudo de caso" apresentado na disciplina...
 

Análise da complexidade de algoritmos

  • 3. • Definição de algoritmo • Definição de tipo de dado • Definição de TAD • Análise de algoritmos
  • 4. Hoje • Análise da complexidade de algoritmos • Resolver exercícios
  • 5. Mas antes... Uma definição mais simples do que é tipo de dado (pra responder na prova se cair!!!): • Em linguagens de programação o tipo de dado de uma variável, constante ou função define o conjunto de valores que a variável, constante ou função pode assumir. • Ex.: variável boolean pode assumir valores true ou false. Portanto true e false é o conjunto de valores de uma variável booleana.
  • 6. Por que analisar um algoritmo? Depois que decidimos qual o problema que queremos resolver (Ex. encontrar um elemento num conjunto de valores), precisamos ter certeza que o algoritmo escolhido para o nosso problema, irá resolvê-lo em um espaço de tempo e consumir memória, num intervalo de tempo e quantidade de memória gastas aceitáveis para nosso cliente.
  • 7. Por que analisar um algoritmo? Nenhum cliente vai querer um programa que demora 10 minutos para encontrar um elemento dentro de um conjunto de valores! Isso é perda de dinheiro e tempo, uma vez que deve existir um algoritmo que faça isso em poucos milissegundos!
  • 8. Por que analisar um algoritmo? No final, o que vai importar na análise é qual o caso médio que tal algoritmo demora para nos dar a saída do problema!
  • 9. Passos para analisar um algoritmo e decidir os três casos 1. Entenda o problema: sem entender o problema é praticamente impossível determinar os três casos corretamente.
  • 10. Entendendo o problema Se temos o problema de encontrar um elemento num conjunto de valores, entender o problema significa: Talvez o elemento procurado esteja na primeira posição buscada, ou talvez esteja na última. Mas ele pode também estar no meio ou próximo de lá. Dessa maneira já sabemos qual os nossos melhor caso, pior caso e caso médio respectivamente. Agora só precisamos encontrar uma maneira de representa-los matematicamente.
  • 11. Passos para analisar um algoritmo e decidir os três casos 2. Encontre no algoritmo loops e estruturas condicionais. ESQUEÇA O RESTO!
  • 12. Encontre loops e condicionais
  • 13. Encontre loops e condicionais
  • 14. Passos para analisar um algoritmo e decidir os três casos 3. Decida quantas vezes o condicional irá executar baseado na quantidade de vezes que o loop executa. *É preciso olhar para o condicional, pois o custo de acesso a memória vem dele!
  • 15. Encontre loops e condicionais Se tamanho = n, então o for executará n vezes, uma vez que vai de 0 até (n – 1). Para visualizar o número de vezes que o for executa, pode-se fazer o seguinte: Por exemplo, se n = 2, i começa em 0 (i = 0) e 0 < 2. Na segunda iteração, i recebe 1 (i = 1) e 1 < 2. A terceira iteração nos dá que i será igual a 2 (i = 2) e 2 < 2 é falso e o loop não será executado novamente.Logo, o loop executou somente 2 vezes, uma vez que a terceira iteração não foi executada. Veja que 2 é o número de elementos que temos, pois n = 2 e então o loop rodou n vezes.
  • 16. Passos para analisar um algoritmo e decidir os três casos 3. Seja f(n) uma função de complexidade, decida f(n) para o melhor e pior caso e caso médio, utilizando seu conhecimento sobre o problema.
  • 17. Decida quantas vezes será executado Melhor caso: 𝑓 𝑛 = 1 O if foi acessado somente uma vez, pois o elemento estava na primeira posição acessada. Pior caso: 𝑓 𝑛 = 𝑛 O if foi acessado todas as vezes que o loop executou, pois o elemento procurado estava na última posição acessada ou não estava no vetor. Seja 𝑓 𝑛 uma função de complexidade definida pelo número de elementos consultados no arquivo.
  • 18. Decida quantas vezes será executado Caso médio: 𝑓 𝑛 = 𝑛+1 2 O caso médio é dado por: 𝑃𝑖𝑜𝑟 𝑐𝑎𝑠𝑜 + 𝑀𝑒𝑙ℎ𝑜𝑟 𝑐𝑎𝑠𝑜 2 É o mesmo que dizer que o elemento está no meio ou próximo dele! Seja 𝑓 𝑛 uma função de complexidade definida pelo número de elementos consultados no arquivo.
  • 19. Análise assintótica Para a análise de algoritmos só vai importar mesmo, quando temos valores enormes de n. Isso é necessário, porque até mesmo o pior dos algoritmos pode resolver algum problema quando n é suficientemente pequeno.
  • 20. Análise assintótica O tipo de matemática que está interessado em valores enormes de n, é chamado de assintótico, e as funções aqui definidas serão classificadas em “ordens” (como as ordens religiosas da Idade Média), onde todas as funções de uma mesma ordem são equivalentes.
  • 21. Análise assintótica Por exemplo, sejam as funções: n2 , (3/2)n2 , 9999n2 , n2/1000 , n2+100n , etc. Elas crescem todas na mesma velocidade e portanto são todas “equivalentes” e desse modo de mesma “ordem”.
  • 22. Análise assintótica Por exemplo, sejam as funções: n2 , (3/2)n2 , 9999n2 , n2/1000 , n2+100n , etc. Nesse caso é fácil de perceber que todas crescem na mesma velocidade. Todas as funções dadas são quadráticas. Olhem para os gráficos á seguir:
  • 26. Análise assintótica As proporções são diferentes, mas as curvas tem o mesmo comportamento! (comportamento é o mesmo que dizer crescimento) Aqui, vamos nos concentrar na primeira ordem, a Ordem O.
  • 27. Dominação assintótica Se pudermos provar que f(n) domina assintoticamente g(n) a partir de um ponto m quando n-> infinito, então o caso ao lado não pode ser verdadeiro! A partir de agora, passaremos a representar os algoritmos através de funções de complexidade de variável n onde essa função é sempre maior que zero. Para o nosso contexto, vamos definir que uma função f(n) domina assintoticamente outra função g(n) se quando n -> infinito, a curva de g(n) nunca crescerá mais rápido que a curva de f(n) a partir de um ponto m (n0).
  • 28. Ordem O Definição: Dadas funções assintoticamente não negativas f(n) e g(n), dizemos que g(n) está na ordem O de f(n) e escrevemos para expressar que f(n) domina assintoticamente g(n). Isso significa dizer que se o tempo de execução de um programa fosse representado por g(n), ele seria da ordem de no máximo f(n).
  • 29. Ordem O Se afirmamos que então estamos dizendo que é possível encontrar duas constantes positivas c e m tais que, para 𝑛 ≥ 𝑚 temos 𝑔 𝑛 ≤ 𝑐 ∗ |𝑓 𝑛 |. No gráfico ao lado, f(n) só domina assintoticamente g(n) a partir de m e quando encontramos uma constante c apropriada!
  • 30. Ordem O Exemplo: Seja 𝑔 𝑛 = 𝑛 + 1 2 𝑒 𝑓 𝑛 = 𝑛2 podemos afirmar que 𝑔 𝑛 = 𝑂 𝑓 𝑛 ? Pela definição isso será verdade quando 𝑛 + 1 2 ≤ 𝑐𝑛2 𝑝𝑎𝑟𝑎 𝑛 ≥ 𝑚 Cada problema tem uma forma mais prático que outro para encontrarmos a constante c. Para esse caso precisamos abrir g(n) ficando com: 𝑛2 + 2𝑛 + 1 A estratégia aqui é igualar os graus em todos os elementos acima com f(n), que possui o maior grau quadrático (2). Logo, sabemos então que: 𝑛2 + 2𝑛 + 1 ≤ 𝑛2 + 2𝑛2 + 1𝑛2 Para algum 𝑛 ≥ 0 que ainda não sabemos qual é (esse será nosso m!)
  • 31. Ordem O Exemplo: Seja 𝑔 𝑛 = 𝑛 + 1 2 𝑒 𝑓 𝑛 = 𝑛2 podemos afirmar que 𝑔 𝑛 = 𝑂 𝑓 𝑛 ? 𝑛2 + 2𝑛 + 1 ≤ 𝑛2 + 2𝑛2 + 1𝑛2 Somando todos os termos do lado direito temos que: 𝑛2 + 2𝑛 + 1 ≤ 4𝑛2 (1) Comparando com a nossa situação inicial: 𝑛 + 1 2 = 𝑛2 + 2𝑛 + 1 ≤ 𝑐𝑛2 Podemos perceber que c = 4. Vamos achar nosso m. Se n = 0, substituindo em (1): 1 ≤ 0 𝑜 𝑞𝑢𝑒 𝑛ã𝑜 é 𝑣𝑒𝑟𝑑𝑎𝑑𝑒!
  • 32. Ordem O Exemplo: Seja 𝑔 𝑛 = 𝑛 + 1 2 𝑒 𝑓 𝑛 = 𝑛2 podemos afirmar que 𝑔 𝑛 = 𝑂 𝑓 𝑛 ? 𝑛2 + 2𝑛 + 1 ≤ 𝑛2 + 2𝑛2 + 1𝑛2 Somando todos os termos do lado direito temos que: 𝑛2 + 2𝑛 + 1 ≤ 4𝑛2 (1) Se n = 1, substituindo em (1): 4 ≤ 4 𝑜 𝑞𝑢𝑒 é 𝑣𝑒𝑟𝑑𝑎𝑑𝑒! Como já determinamos nosso c, então o primeiro valor de n que torna a inequação verdadeira será o nosso n!
  • 33. Ordem O Exemplo: Seja 𝑔 𝑛 = 𝑛 + 1 2 𝑒 𝑓 𝑛 = 𝑛2 podemos afirmar que 𝑔 𝑛 = 𝑂 𝑓 𝑛 ? Logo 𝑔 𝑛 = 𝑂 𝑓 𝑛 é uma afirmação válida quando definimos c = 4 e m = 1. É importante notar que nem sempre se conseguirá resolver o problema utilizando esta abordagem e precisamos de outras estratégias para encontrar as duas constantes que vão provar a nossa afirmação!