big - o

15
Big - O Big - O Monitoria de Matemática Monitoria de Matemática Discreta Discreta 2008-1 2008-1

Upload: thisbe

Post on 22-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Big - O. Monitoria de Matemática Discreta 2008-1. Por que estudar big-O???. Conceitos fundamentais: Algoritmo: passos para se executar uma tarefa. Ex: algoritmo de adição, subtração... Programa: uma forma de representação do algoritmo. Ex: Calculadora. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Big - O

Big - OBig - OBig - OBig - OMonitoria de Matemática Monitoria de Matemática

DiscretaDiscreta2008-12008-1

Page 2: Big - O

Por que estudar big-O???

• Conceitos fundamentais:• Algoritmo: passos para se executar

uma tarefa. Ex: algoritmo de adição, subtração...• Programa: uma forma de

representação do algoritmo.Ex: Calculadora

Page 3: Big - O

O que é importante para um programa

rodar???

Será que um super – hiper – mega – power – computador executa um programa no mesmo intervalo de tempo que um micro computador???

• Tempo

Page 4: Big - O

Será que o programa 1 executa melhor ou pior que o programa 2?

1. Loop: N é um número inteirofor(int i = 0; i <= N; i = i + 1){

/*aqui tem uma soma*/}2. Iteração sem loop’sint x = 1;Int y = 2;

y = y + 2;

• Tamanho e eficiência do programa

Page 5: Big - O

Tudo bem, mas...O que isso tem a ver com big –

O???

• Forma de verificar que programa é melhor

• Verificando limite de funções• Dependente do tamanho do

programa• Independente de tempo

Page 6: Big - O

Como vamos fazer... :s ???

• Duas formas:

1. Provas matemáticas 2. Leis matemáticas

É melhor...

Page 7: Big - O

Leis Matemáticas !!!!1. Retire todas as constantes

(independente de tempo):

Ex: f(x): 3x2 + 9

Fica assim: f(x): x2

O(x2)

Page 8: Big - O

2.Fica sendo o big-O aquele que possuir maior expoente (pior caso):

Ex: g(x) = 3x2 + 70x5

Fica assim: g(x) = x2 + x5 (1ª lei) g(x) = x5 (2ª lei) O(x5 )

Page 9: Big - O

3. Se puder reduzir os expoentes, reduza (melhores comparações):

Ex: h(x) = 3x2 + 70x5 + 10 x12/x4

Fica assim: h(x) = 3x2 + 70x5 + 10 x8 (3ª lei) h(x) = x2 + x5 + x8 (1ª lei) h(x) = x8 (2ª lei)

O(x8)

Page 10: Big - O

4. Se puder ampliar os expoentes, amplie:

Ex: r(x) = 3x2 + 70x5 + 5(x6 . x4)

Fica assim: r(x) = 3x2 + 70x5 + 5(x10) (4ª lei) r(x) = x2 + x5 + x10 (1ª lei) r(x) = (x10) (2ª lei)

O(x10)

Page 11: Big - O

E que Lei tem prioridade???

• As leis por ordem de prioridades:

4ª e 3ª < 1ª < 2ª

Obs: a 4ª e 3ª leis estão no mesmo nível.

Page 12: Big - O

E quando não for com potencias???

n!2n

n2

n log nnlog n1

1 <= log n <= n <= n log n <= n2 <= 2n <= n!

O resto é derivada deles...

Page 13: Big - O

Vamos agora analisar enunciados...

• Quando for pedido “A melhor estimativa” ...

• Quando for pedido “O menor inteiro n”…

Page 14: Big - O

Exercícios de provas anteriores:

1. Determine o menor inteiro n de forma que f(x) é O(xn) para cada uma das seguintes funções. Justifique:

a) f(x) = (x5 + x2 + 1) / (x4 + 1)b) f(x) = 5x2 + x3logx + xc) f(x) = 3xlogx + (x2 + 3)logx

Page 15: Big - O

2. Dê a melhor estimativa O grande possível para as seguintes funções:

a)(n3 + n2logn)(logn + 1) + (15logn + 30)(n3 + 2)

b)(nlogn + 1)2 + (logn + 1)(n2 + 1)

ÓTIMA SORTE !!!