
ED I - Aula 2 - Complexidade de Algoritmos
Presentation
•
Computers
•
University
•
Hard
Cassiano Gunji
Used 4+ times
FREE Resource
32 Slides • 3 Questions
1
ED I - Aula 2 - Complexidade de Algoritmos
Prof. Manuel Fernandez Paradela Ledón
José Cassiano Grassi Gunji, jose.gunji@cruzeirodosul.edu.br
2
Impacto das comparações e de outras operações no desempenho do código;
Análise assintótica, notação big-O, conceito de limite e de tamanho do problema.
Problemas e sua complexidade;
Benchmarks;
Contagem elementar de instruções;
Complexidade de algoritmos
Estruturas de Dados I
3
Exercício ou problema?
Complexidade de Algoritmos
Demanda muito mais reflexão, pesquisa e esforço para desembaraçar antes de encontrar a abordagem apropriada.
Problema
É uma questão que você sabe como resolver imediatamente. Você não precisa pesquisar quais técnicas utilizar para resolver o exercício.
Exercício
4
Desempenho e eficiência
Completeza ou completude: o algoritmo oferece certeza de encontrar uma solução para o problema?
Otimização: o algoritmo encontrará uma solução ótima para o problema (memória e espaço)?
Complexidade de tempo: quanto tempo é necessário para se executar o algoritmo?
Complexidade algorítmica: qual é o custo da implementação e manutenção dada sua complexidade?
Complexidade de Algoritmos
5
Lembrando...
Um pouco de matemática
6
Polinômios
Revisão de Matemática
7
Exemplos de polinômios com graus diferentes
Revisão de Matemática
8
Exemplos de polinômios com graus diferentes
Revisão de Matemática
9
Funções Exponenciais
Revisão de Matemática
10
Funções Exponenciais
Revisão de Matemática
11
Comparação entre funções
Revisão de Matemática
Gráficos para comparar o comportamento de algumas funções utilizando a ferramenta gratuita www.mathe-fa.de/pt
12
Multiple Choice
Se um algoritmo tiver sua complexidade definida, podemos dizer que:
Ele sempre encontra uma solução
Ele pode ser executado em um tempo aceitável
Ele pode levar um tempo inaceitável para completar
A complexidade é a solução do algoritmo
13
Complexidade de Algoritmos
14
Tratabilidade de algoritmos
Complexidade de Algoritmos
Um problema de complexidade exponencial (ou pior). Nenhum computador pode resolvê-lo em um tempo satisfatório, a não ser que o número n seja pequeno.
Intratáveis
São problemas possivelmente resolvíveis com recursos limitados e em situações simples, porém impossíveis com recursos limitados e em situações reais mais complexas.
Tratáveis
15
Problemas Tratáveis
Complexidade de Algoritmos
É uma classe de problemas resolvíveis em tempo polinomial em uma máquina não-determinística (máquina sem limites). NP significa nondeterministic polynomial time.
Tipo NP
É uma classe de problemas resolvíveis em tempo polinomial em uma máquina determinística (máquina normal, limitada, um processo de cada vez)
Tipo P
16
Computadores determinísticos e não-determinísticos
Complexidade de Algoritmos
Se a solução existe, o computador sempre a encontrará. Não existem limitações de hardware. É um computador paralelo que executa infinito número de processos simultaneamente.
Não-determinístico
Só poderá estar em um estado por vez (PC comum, que executa um processo de cada vez).
Determinístico
17
Lenda do jogo de xadrez
Complexidade de Algoritmos
18
Um "boato" como função exponencial
Complexidade de Algoritmos
Suponhamos que uma pessoa tem um grande segredo, mas no segundo dia não resiste mais e conta para outras três pessoas diferentes. Cada uma das três pessoas contará o segredo para outras três pessoas no dia seguinte.
Quantas pessoas saberão o "segredo" depois de uma semana?
19
Um "boato" como função exponencial
Complexidade de Algoritmos
20
Um "boato" como função exponencial
Complexidade de Algoritmos
E depois de 30 dias?
21
Tempo em função do número de operações realizadas
Complexidade de Algoritmos
Considerando um computador que realiza um milhão de operações por segundo.
22
Alguns algoritmos conhecidos e seu comportamento
23
Determinar qual o trabalhador com maior salário
Complexidade de Algoritmos
24
Ordenar alfabeticamente os trabalhadores, usando o método da bolha
Complexidade de Algoritmos
25
A Sequência de Fibonacci
Complexidade de Algoritmos
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
26
Complexidade de algoritmos
Há várias maneiras de se avaliar a complexidade de um algoritmo. A maioria dos autores se concentram no consumo de memória e no tempo de execução.
Podemos medir a complexidade e a eficiência de um algoritmo efetuando:
Contagem de instruções;
Benchmark;
Estimativa matemática.
Complexidade de Algoritmos
27
Benchmark
Complexidade de Algoritmos
28
Contagem de instruções
Conta-se a quantidade de instruções para se resolver o problema. Entretanto, instruções diferentes levam tempos diferentes para serem executadas.
Por simplicidade, considera-se no cálculo de T(n) que todas as instruções rodam no mesmo tempo.
Complexidade de Algoritmos
29
Contagem de instruções - T(n) polinomial
int q = 0;
for (int i = 1; i <= n; i++){
q = q + 1;
}
Complexidade de Algoritmos
30
Contagem de instruções - T(n) logarítmico
int k = 0, i = n;
while (i > 1){
k = k + 1;
i = i / 2; //controle do laço
}
Complexidade de Algoritmos
31
Notação big-O
se f(x) é a soma de diferentes termos e existe um termo com a maior taxa de crescimento, este será considerado e os restantes omitidos;
se f(x) é o produto de diferentes fatores, todas as constantes podem ser omitidas.
Complexidade de Algoritmos
32
Notação big-O
Complexidade de Algoritmos
33
Multiple Choice
Seja f(n)=2n4+2n5+3n2+12 a complexidade de um algoritmo, qual sua complexidade na notação big-O?
O(2n4)
O(n4)
O(2n5)
O(n5)
34
Multiple Choice
Seja f(n)=4n5+3n3+2n+5 a complexidade de um algoritmo, qual sua complexidade na notação big-O?
O(4n5)
O(n5)
O(2n)
O(n3)
35
Homework
Resolva os 5 exercícios propostos no final da apresentação do prof. Ledón e poste suas respostas na tarefa do BlackBoard.
Complexidade de Algoritmos
ED I - Aula 2 - Complexidade de Algoritmos
Prof. Manuel Fernandez Paradela Ledón
José Cassiano Grassi Gunji, jose.gunji@cruzeirodosul.edu.br
Show answer
Auto Play
Slide 1 / 35
SLIDE
Similar Resources on Wayground
28 questions
Aula 3 - Engenharia de Software
Presentation
•
University
28 questions
Python 3 - szakmérnök
Presentation
•
University
27 questions
COMANDOS DOS
Presentation
•
KG
27 questions
Clase 6 junio Herramientas Computacionales
Presentation
•
University
25 questions
Les pronoms compléments directs et indirects
Presentation
•
University
28 questions
Primeira Semana do desenvolvimento - lesson
Presentation
•
University
30 questions
String_Intro
Presentation
•
University
29 questions
ISWS 2025 - Human-centric AI Evaluation
Presentation
•
University
Popular Resources on Wayground
11 questions
Hallway & Bathroom Expectations
Quiz
•
6th - 8th Grade
10 questions
HCS SCI 03 Summer School Assessment 2
Quiz
•
3rd Grade
11 questions
Home Scope
Quiz
•
7th - 8th Grade
12 questions
2026 TAP Technology in the Classroom
Presentation
•
Professional Development
15 questions
HCS SCI 05 Summer School Assessment 2 Review
Quiz
•
5th Grade
15 questions
HCS SCI 04 Summer School Review 2
Quiz
•
4th Grade
59 questions
Geometry Unit 3 Review
Quiz
•
9th - 12th Grade
14 questions
FAST ELA READING SMAPLE TEST MATERIALS
Passage
•
3rd Grade