Você está na página 1de 173

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o Warley Gramacho


Cincia da Computao e ca Universidade Federal do Tocantins

2011-2

Outline

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica ca o
Porque notao assinttica ? ca o

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica ca o
Porque notao assinttica ? Resumir o comportamento de um ca o algoritmo em frmulas simples e de fcil compreenso o a a

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica ca o
Porque notao assinttica ? Resumir o comportamento de um ca o algoritmo em frmulas simples e de fcil compreenso o a a A anlise da ecincia de algoritmos, geralmente, se concentra na a e ordem de crescimento assinttico das operaes bsicas de um o co a algoritmo, como o principal indicador de sua ecincia. e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica ca o
Porque notao assinttica ? Resumir o comportamento de um ca o algoritmo em frmulas simples e de fcil compreenso o a a A anlise da ecincia de algoritmos, geralmente, se concentra na a e ordem de crescimento assinttico das operaes bsicas de um o co a algoritmo, como o principal indicador de sua ecincia. e Para comparar e classicar estas ordens de crescimento, so a utilizadas notaes assintticas. co o

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica ca o
Porque notao assinttica ? Resumir o comportamento de um ca o algoritmo em frmulas simples e de fcil compreenso o a a A anlise da ecincia de algoritmos, geralmente, se concentra na a e ordem de crescimento assinttico das operaes bsicas de um o co a algoritmo, como o principal indicador de sua ecincia. e Para comparar e classicar estas ordens de crescimento, so a utilizadas notaes assintticas. co o Um algoritmo que assintoticamente mais eciente ser a melhor e a escolha para todas as entradas (exceto as muito pequenas)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica (2) ca o


Uma funo f (n) domina assintoticamente outra funo g (n) se ca ca existem duas constantes positivas c e n0 tais que, para todo n n0 , temos |g (n)| c|f (n)|. Exemplo:

Sejam g (n) = (n + 1)2 e f (n) = n2 As funoes g (n) e f (n) dominam c assintoticamente uma a outra, j a que |(n + 1)2 | 4|n2 | para n 1 e |n2 | |(n + 1)2 | para n 0.

cg (n) f (n)

n0

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao Assinttica (3) ca o


Existem trs notaes principais na anlise assinttica de funes: e co a o co

O ( Big O, O grande) (Omega) (Theta)

E mais:

o ( little o, o pequeno) ( lettle omega, omega pequeo ou omega minsculo) u

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) ca

Denio: ca Sejam duas funes f (n) e g (n) assintoticamente no-negativas, co a dizemos que f (n) est na ordem O de g (n), e escrevemos a f (n) = O(g (n)) ou f (n) O(g (n)) se exitem constantes c > 0 e n0 > 0 tais que 0 f (n) cg (n) para todo n n0 A notao O dene um limite superior para a funo, por um fator ca ca constante

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) (2) ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) (2) ca


Dado uma funo g (n), dene-se a familia de funes O(g (n)) ca co

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) (2) ca


Dado uma funo g (n), dene-se a familia de funes O(g (n)) ca co

f (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) (2) ca


Dado uma funo g (n), dene-se a familia de funes O(g (n)) ca co cg (n) f (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) (2) ca


Dado uma funo g (n), dene-se a familia de funes O(g (n)) ca co cg (n) f (n)

n0

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O (Big oh) (2) ca


Dado uma funo g (n), dene-se a familia de funes O(g (n)) ca co cg (n) f (n)

n0 O(g (n)) = {f (n) : c > 0, n0 > 0

: 0 f (n) cg (n) para todo n n0 }


Notao Assinttica ca o

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao O: Exemplo (1) ca


7 3 a Suponha que f (n) = n2 + n 4 e que g (n) = n2 , ento, 2 2 f (n) = O(g (n)) ?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (1) ca


7 3 a Suponha que f (n) = n2 + n 4 e que g (n) = n2 , ento, 2 2 f (n) = O(g (n)) ? Devemos mostrar que f (n) cg (n), para todo n n0

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (1) ca


7 3 a Suponha que f (n) = n2 + n 4 e que g (n) = n2 , ento, 2 2 f (n) = O(g (n)) ? Devemos mostrar que f (n) cg (n), para todo n n0 A tabela abaixo sugere que f (n) 2g (n) para todo n 6
n 0 1 2 3 4 5 6 7 8 f (n) 4 1 9 20 34 51 71 94 120 2g (n) 0 2 8 18 32 50 72 98 128

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (1) ca


7 3 a Suponha que f (n) = n2 + n 4 e que g (n) = n2 , ento, 2 2 f (n) = O(g (n)) ? Devemos mostrar que f (n) cg (n), para todo n n0 A tabela abaixo sugere que f (n) 2g (n) para todo n 6
n 0 1 2 3 4 5 6 7 8 f (n) 4 1 9 20 34 51 71 94 120 2g (n) 0 2 8 18 32 50 72 98 128

Portanto, f (n) = O(g (n))


Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Notao O: Exemplo (2) ca

Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = O(n3 ). a

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (2) ca

Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = O(n3 ). a Prova Seja c = 20 e n0 = 1.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (2) ca

Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = O(n3 ). a Prova Seja c = 20 e n0 = 1. Devemos mostrar que 0 f (n) cg (n).

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (2) ca

Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = O(n3 ). a Prova Seja c = 20 e n0 = 1. Devemos mostrar que 0 f (n) cg (n). 0 15n3 + n2 + 4 para todo n n0 = 1.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (2) ca

Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = O(n3 ). a Prova Seja c = 20 e n0 = 1. Devemos mostrar que 0 f (n) cg (n). 0 15n3 + n2 + 4 para todo n n0 = 1. f (n) = 15n3 + n2 + 4 15n3 + n3 + 4n3

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (2) ca

Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = O(n3 ). a Prova Seja c = 20 e n0 = 1. Devemos mostrar que 0 f (n) cg (n). 0 15n3 + n2 + 4 para todo n n0 = 1. f (n) = 15n3 + n2 + 4 15n3 + n3 + 4n3 15n3 + n3 + 4n3 = 20n3 = 20g (n) = cg (n).

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (3) ca

Prove que se f (n) = 25n + 18 e g (n) = n, ento f (n) O(g (n)) . a

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (3) ca

Prove que se f (n) = 25n + 18 e g (n) = n, ento f (n) O(g (n)) . a Prova Fazendo c = 26 e n0 = 19, obtemos a relao desejada. ca 25n + 18 26n para todo n n0 . Portanto, f (n) = O(g (n)). E claro que existem outras escolhas para essas constantes, mas uma escolha suciente. e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (4) ca


Mostre f (n) = 2n2 e g (n) = 500n, ento, f (n) = O(g (n)) . a

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (4) ca


Mostre f (n) = 2n2 e g (n) = 500n, ento, f (n) = O(g (n)) . a Prova f (n) = O(g (n)) Pois n2 cresce mais rapidamente que n. Em outras palavras, suponha, por contradio, que existam duas conca stantes c e n0 tais que 2n2 500cn, para todo n n0 Isso implicaria que n 250c, o que no vlido para todo n arbitrariaa e a mente grande, visto que c uma constante. e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (5) ca

Prove que 22n O(2n )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Exemplo (5) ca

Prove que 22n O(2n ) Prova 22n c.2n

2n c

2n 2n c.2n ?

Certamente para qualquer constante c, podemos encontrar n tal que a desigualdade acima no satisfeita. a e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100

T (n) = O(n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100

T (n) = O(n2 )

T (n) = O(n3 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n

T (n) = O(n2 )

T (n) = O(n3 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n ) T (n) = O(n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7


n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n ) T (n) = O(n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7


n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n ) T (n) = O(n2 )

T (n) = O((1.5)n )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7 T (n) =


10+n n2
n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n ) T (n) = O(n2 )

T (n) = O((1.5)n )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos ca

T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7 T (n) =


10+n n2
n

T (n) = O(n2 )

T (n) = O(n3 )

T (n) = O(2n ) T (n) = O(n2 )

T (n) = O((1.5)n ) T (n) = O(1)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)?

NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )?

NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )?

NAO NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )? f (n) = O(2n ) f (n) = (n2 )?

NAO NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )? f (n) = O(2n ) f (n) = (n2 )?

NAO NAO NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )? f (n) = O(2n ) f (n) = (n2 )? n = O(log2 n)?

NAO NAO NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )? f (n) = O(2n ) f (n) = (n2 )? n = O(log2 n)? NAO

NAO NAO NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )? f (n) = O(2n ) f (n) = (n2 )? n = O(log2 n)?
n

NAO NAO NAO

NAO

n2 + (1.5)n = O(2 2 )?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao O: Outros Exemplos (2) ca

n2 10n + 100 = O(n log n)? f (n) = O(2n ) f (n) = O(n2 )? f (n) = O(2n ) f (n) = (n2 )? n = O(log2 n)?
n

NAO NAO NAO

NAO NAO

n2 + (1.5)n = O(2 2 )?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Exemplos
Ento, qual a complexidade do FindEquals? a e FindEquals(A) 1 for i 1 to length(A) 1 2 do for j i + 1 to length(A) 3 do if A[i ] = A[j] 4 then return true 5 return false

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Exemplos
Ento, qual a complexidade do FindEquals? a e FindEquals(A) 1 for i 1 to length(A) 1 2 do for j i + 1 to length(A) 3 do if A[i ] = A[j] 4 then return true 5 return false T (n) = O(n2 )

n = length(A) medimos a complexidade de pior caso


Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Prof. Warley Gramacho

POSCOMP 2003
Quais das seguintes igualdades so verdadeiras? a I. n2 = O(n3 ) II. 2n + 1 = O(n2 ) III. n3 = O(n2 ) IV. 3n + 5n log n = O(n) V. log n + sqrt(n) = O(n) a) Somente I e II b) Somente II, III e IV c) Somente III, IV e V d) Somente I, II e V e) Somente I, III e V
Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

POSCOMP 2003
Quais das seguintes igualdades so verdadeiras? a I. n2 = O(n3 ) II. 2n + 1 = O(n2 ) III. n3 = O(n2 ) IV. 3n + 5n log n = O(n) V. log n + sqrt(n) = O(n) a) Somente I e II b) Somente II, III e IV c) Somente III, IV e V d) Somente I, II e V e) Somente I, III e V
Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Notao ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Denio: ca Sejam duas funes f (n) e g (n) assintoticamente no-negativas, co a dizemos que f (n) est na ordem de g (n), e escrevemos a f (n) = (g (n)) ou f (n) (g (n)) se exitem constantes c > 0 e n0 > 0 tais que f (n) 0 e f (n) cg (n) para todo n n0 A notao dene um limite inferior para a funo, por um fator ca ca constante

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao (2) ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao (2) ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao (2) ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co f (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao (2) ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co f (n) cg (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao (2) ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co f (n) cg (n)

n0

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao (2) ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co f (n) cg (n)

n0 (g (n)) = {f (n) : c > 0, n0 > 0

: 0 cg (n) f (n) para todo n n0 }


Notao Assinttica ca o

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao : Exemplo (1) ca


Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = (n3 ) a

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = (n3 ) a Prova Seja c = 15 e n0 = 1 devemos mostrar que

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = (n3 ) a Prova Seja c = 15 e n0 = 1 devemos mostrar que 0 cg (n)ef (n) cg (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = (n3 ) a Prova Seja c = 15 e n0 = 1 devemos mostrar que 0 cg (n)ef (n) cg (n) 0 15n3 para todo n n0 = 1

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Prove que se T (n) = 15n3 + n2 + 4, ento, T (n) = (n3 ) a Prova Seja c = 15 e n0 = 1 devemos mostrar que 0 cg (n)ef (n) cg (n) 0 15n3 para todo n n0 = 1 f (n) = 15n3 + n2 + 4 15n2 = cg (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca

Mostre que f (n) = 3n3 + 2n2 (n3 ) e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca

Mostre que f (n) = 3n3 + 2n2 (n3 ) e Prova Para mostrar que f (n) = 3n3 + 2n2 (n3 ) e basta fazer c = 1, e ento: a 3n3 + 2n2 n3 paran 0.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (3) ca

Mostre que f (n) = n3 + 100n (n3 ) e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (3) ca

Mostre que f (n) = n3 + 100n (n3 ) e Prova a E fcil vericar que f (n) = n3 + 100n (n3 ), e pois n3 + 100n n3 para todo n 0.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca

Prove que n log n (n) e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca

Prove que n log n (n) e Prova

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca

Prove que n log n (n) e Prova Devemos mostra que n log n cn

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca

Prove que n log n (n) e Prova Devemos mostra que n log n cn De fato para todo c = 1 e n 2 tem-se

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca

Prove que n log n (n) e Prova Devemos mostra que n log n cn De fato para todo c = 1 e n 2 tem-se log n 1

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca

Prove que n log n (n) e Prova Devemos mostra que n log n cn De fato para todo c = 1 e n 2 tem-se log n 1 e portanto n log n n

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (5) ca


Mostrar que f (n) = 100n no est em (n2). a a

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (5) ca


Mostrar que f (n) = 100n no est em (n2). a a Prova

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (5) ca


Mostrar que f (n) = 100n no est em (n2). a a Prova Devemos mostrar que 100n cn2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (5) ca


Mostrar que f (n) = 100n no est em (n2). a a Prova Devemos mostrar que 100n cn2 dividindo ambos os lados por n, temos: 100 cn

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (5) ca


Mostrar que f (n) = 100n no est em (n2). a a Prova Devemos mostrar que 100n cn2 dividindo ambos os lados por n, temos: 100 cn Logo, percebemos que 100 no maior que n para n sucientemente a e grande.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Denio: ca Sejam duas funes f (n) e g (n) assintoticamente no-negativas, co a dizemos que f (n) est na ordem de g (n), e escrevemos a f (n) = (g (n)) ou f (n) (g (n)) se exitem constantes c > 0 e n0 > 0 tais que c1 g (n) f (n) c2 g (n) para todo n n0 A notao dene um limite apertado(tight bound, em ingls) ca e para a funo ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co f (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co c2 g (n) f (n) c1 g (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co c2 g (n) f (n) c1 g (n)

n0

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
Dado uma funo g (n), dene-se a familia de funes (g (n)) ca co c2 g (n) f (n) c1 g (n)

n0 (g (n)) = {f (n) : c1 > 0, c2 > 0, n0 > 0

: 0 c1 g (n) f (n) c2 g (n) para todo n n0 }


Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Prof. Warley Gramacho

Notao : Exemplo (1) ca


Mostre que se g (n) = 1 2 n 2n, ento, g (n) = (n2 ). a 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova

1 2 n 2n, ento, g (n) = (n2 ). a 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova Devemos obter constantes, c1 , c2 e n tais que: c1 n2 1 2 n 2n c2 n2 para todo n n0 . 2

1 2 n 2n, ento, g (n) = (n2 ). a 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova Devemos obter constantes, c1 , c2 e n tais que: c1 n2 1 2 n 2n c2 n2 para todo n n0 . 2

1 2 n 2n, ento, g (n) = (n2 ). a 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova Devemos obter constantes, c1 , c2 e n tais que: c1 n2 1 2 n 2n c2 n2 para todo n n0 . 2

1 2 n 2n, ento, g (n) = (n2 ). a 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 3

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova Devemos obter constantes, c1 , c2 e n tais que: c1 n2 1 2 n 2n c2 n2 para todo n n0 . 2

1 2 n 2n, ento, g (n) = (n2 ). a 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 3 1 , o lado esquerdo da desigualdade ser vlido para qualquer valor de n 7. a a Escolhendo c1 21

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova Devemos obter constantes, c1 , c2 e n tais que: c1 n2 1 2 n 2n c2 n2 para todo n n0 . 2

1 2 n 2n, ento, g (n) = (n2 ). a 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 3 1 , o lado esquerdo da desigualdade ser vlido para qualquer valor de n 7. a a Escolhendo c1 21 1 1 1 Logo, escolhendo c1 = , c2 = e n0 = 7, verica-se que n2 2n = (n2 ). 21 3 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (1) ca


Mostre que se g (n) =
Prova Devemos obter constantes, c1 , c2 e n tais que: c1 n2 1 2 n 2n c2 n2 para todo n n0 . 2

1 2 n 2n, ento, g (n) = (n2 ). a 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 3 1 , o lado esquerdo da desigualdade ser vlido para qualquer valor de n 7. a a Escolhendo c1 21 1 1 1 Logo, escolhendo c1 = , c2 = e n0 = 7, verica-se que n2 2n = (n2 ). 21 3 2
OBS: Outras constantes podem existir, mas o importante que existe alguma escolha para as trs constantes. e e Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que 1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que
Prova

1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que
Prova Primeiro, vamos provar o lado direito da inequao (upper bound): ca 1 n(n 1) c1 n2 2

1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que
Prova Primeiro, vamos provar o lado direito da inequao (upper bound): ca 1 n(n 1) c1 n2 2 Escolhendo c1 1 a desigualdade ser sempre vlida para qualquer valor de n 0. a a 2

1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que
Prova Primeiro, vamos provar o lado direito da inequao (upper bound): ca 1 n(n 1) c1 n2 2 Escolhendo c1 1 a desigualdade ser sempre vlida para qualquer valor de n 0. a a 2 Segundo, vamos provar o lado esquerdo da inequao (lower bound): ca 1 n(n 1) c2 n2 2

1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que
Prova Primeiro, vamos provar o lado direito da inequao (upper bound): ca 1 n(n 1) c1 n2 2 Escolhendo c1 1 a desigualdade ser sempre vlida para qualquer valor de n 0. a a 2 Segundo, vamos provar o lado esquerdo da inequao (lower bound): ca 1 n(n 1) c2 n2 2 Escolhendo c2 1 a desigualdade ser sempre vlida para qualquer valor de n 2. a a 4

1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (2) ca


Prove que
Prova Primeiro, vamos provar o lado direito da inequao (upper bound): ca 1 n(n 1) c1 n2 2 Escolhendo c1 1 a desigualdade ser sempre vlida para qualquer valor de n 0. a a 2 Segundo, vamos provar o lado esquerdo da inequao (lower bound): ca 1 n(n 1) c2 n2 2 Escolhendo c2 1 a desigualdade ser sempre vlida para qualquer valor de n 2. a a 4 1 1 1 Logo, escolhendo c1 = , c2 = e n0 = 2, verica-se que n(n 1) = (n2 ). 2 4 2

1 n(n 1) (n2 ). 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (3) ca

Prove que 6n3 (n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (3) ca

Prove que 6n3 (n2 ) Prova c1 n2 6n3 c2 n2 c1 6n c2 ca Assim, temos que c2 6n, n n0 . Contradio!

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca


Prove que n2 2n (n2 ) ? e 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca


Prove que
Prova evemos obter constantes, c1 , c2 e n tais que: c1 n2 n2 2n c2 n2 2 n n0 .

n2 2n (n2 ) ? e 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca


Prove que
Prova evemos obter constantes, c1 , c2 e n tais que: c1 n2 n2 2n c2 n2 2 n n0 .

n2 2n (n2 ) ? e 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 4

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca


Prove que
Prova evemos obter constantes, c1 , c2 e n tais que: c1 n2 n2 2n c2 n2 2 n n0 .

n2 2n (n2 ) ? e 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 4 1 , o lado esquerdo da desigualdade ser vlido para qualquer valor de n 8. a a Escolhendo c1 21

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (4) ca


Prove que
Prova evemos obter constantes, c1 , c2 e n tais que: c1 n2 n2 2n c2 n2 2 n n0 .

n2 2n (n2 ) ? e 2

Se dividirmos a expresso por n2 temos: a c1 1 2 c2 2 n

O lado direito da desigualdade ser sempre vlido para qualquer valor de n 1 quando escola a 1 hermos c2 . 4 1 , o lado esquerdo da desigualdade ser vlido para qualquer valor de n 8. a a Escolhendo c1 21 1 n2 1 , c2 = e n0 = 7, verica-se que 2n = (n2 ). Logo, escolhendo c1 = 21 2 2
Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Notao : Exemplo (5) ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Exemplo (5) ca

Prova

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = (n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = (n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = (n2 )

T (n) = (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = (n2 )

T (n) = (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = (n2 )

T (n) = (n) T (n) = (n n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7
n

T (n) = (n2 )

T (n) = (n) T (n) = (n n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7
n

T (n) = (n2 )

T (n) = (n) T (n) = (n n)


n

T (n) = (2 6 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7 T (n) =
10+n n2
n

T (n) = (n2 )

T (n) = (n) T (n) = (n n)


n

T (n) = (2 6 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7 T (n) =
10+n n2
n

T (n) = (n2 )

T (n) = (n) T (n) = (n n)


n

T (n) = (2 6 )
1 T (n) = ( n )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7 T (n) =
10+n n2
n

T (n) = (n2 )

T (n) = (n) T (n) = (n n)


n

T (n) = (2 6 )
1 T (n) = ( n )

T (n) = complexidade do SmartFibonacci

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao : Outros Exemplos ca


T (n) = n2 + 10n + 100 T (n) = n + 10 log n T (n) = n log n + n n T (n) = 2 6 + n7 T (n) =
10+n n2
n

T (n) = (n2 )

T (n) = (n) T (n) = (n n)


n

T (n) = (2 6 )
1 T (n) = ( n )

T (n) = complexidade do SmartFibonacci

T (n) = (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Relaoes entre O, e c
Theorema: Para quaisquer duas funes f (n) e g (n), co f (n) = (g (n)) f (n) = O(g (n)) f (n) = (g (n))

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Relaoes entre O, e c
Theorema: Para quaisquer duas funes f (n) e g (n), co f (n) = (g (n)) f (n) = O(g (n)) f (n) = (g (n)) As notaes O, e podem ser vistas como relaes de funes co co co assintticas , e =, respectivamente o

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Relaoes entre O, e c
Theorema: Para quaisquer duas funes f (n) e g (n), co f (n) = (g (n)) f (n) = O(g (n)) f (n) = (g (n)) As notaes O, e podem ser vistas como relaes de funes co co co assintticas , e =, respectivamente o O teorema acima pode ser interpretado como f g f g f =g

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Relaoes entre O, e c
Theorema: Para quaisquer duas funes f (n) e g (n), co f (n) = (g (n)) f (n) = O(g (n)) f (n) = (g (n)) As notaes O, e podem ser vistas como relaes de funes co co co assintticas , e =, respectivamente o O teorema acima pode ser interpretado como f g f g f =g Quando f (n) = O(g (n)) dizemos que g (n) um limite superior para e f (n), e que g (n) domina f (n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Relaoes entre O, e c
Theorema: Para quaisquer duas funes f (n) e g (n), co f (n) = (g (n)) f (n) = O(g (n)) f (n) = (g (n)) As notaes O, e podem ser vistas como relaes de funes co co co assintticas , e =, respectivamente o O teorema acima pode ser interpretado como f g f g f =g Quando f (n) = O(g (n)) dizemos que g (n) um limite superior para e f (n), e que g (n) domina f (n) Quando f (n) = (g (n)) dizemos que g (n) um limite inferior para e f (n)
Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + 4n 1 = n2 + (n)?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + 4n 1 = n2 + (n)? SIM

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + (n) 1 = O(n2 )? n2 + 4n 1 = n2 + (n)? SIM

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + (n) 1 = O(n2 )? n2 + 4n 1 = n2 + (n)? SIM NAO

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + (n) 1 = O(n2 )? n2 + 4n 1 = n2 + (n)? SIM NAO

n2 + O(n) 1 = O(n2 )?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + (n) 1 = O(n2 )? n2 + 4n 1 = n2 + (n)? SIM NAO SIM

n2 + O(n) 1 = O(n2 )?

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + (n) 1 = O(n2 )? n2 + 4n 1 = n2 + (n)? SIM NAO

n2 + O(n) 1 = O(n2 )? SIM n log n + ( n) = O(n n)?


Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Funoes Annimas O, e c o
Podemos usar as notaes O, e para representao funes co ca co annimas (desconhecido) o E.g., f (n) = 10n2 + O(n) signica que f (n) igual a 10n2 mais uma funao, que no sabemos e c a ou que no nos importa saber, que assintoticamente linear n. a e Exemplos n2 + (n) 1 = O(n2 )? n2 + 4n 1 = n2 + (n)? SIM NAO

n2 + O(n) 1 = O(n2 )? SIM n log n + ( n) = O(n n)? SIM


Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Propriedades de O, e
f (n) = O(f (n)) cf (n) = O(f (n)), onde c constante O(f (n)) + O(f (n)) = O(f (n)) O(O(f (n))) = O(f (n)) O(f (n)) + O(g (n)) = O(max(f (n), g (n))) O(f (n))O(g (n)) = O(f (n)g (n)) f (n)O(g (n)) = O(f (n) + g (n))

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao o ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao o ca
O limite superior denido pela notao O, pode ou no ser ca a assintoticamente apertado (asymptotically tight, em ingls) e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao o ca
O limite superior denido pela notao O, pode ou no ser ca a assintoticamente apertado (asymptotically tight, em ingls) e E.g., n log n = O(n2 ) no assintoticamente apertado a assintoticamente apertado e n2 n + 10 = O(n2 )

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao o ca
O limite superior denido pela notao O, pode ou no ser ca a assintoticamente apertado (asymptotically tight, em ingls) e E.g., n log n = O(n2 ) no assintoticamente apertado a assintoticamente apertado e n2 n + 10 = O(n2 )

Usamos a notao o para denotar limites superiores que so no ca a a assintoticamente apertado. Assim, dada uma funo g (n), ca denimos a fam de funes o(n(g )) lia co o(g (n)) = {f (n) : c > 0, n0 > 0

: 0 f (n) < cg (n) para todo n n0 }

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca

Uma funo g (n) o(f (n)) se, para qualquer constante c > 0, ento ca e a 0 < g (n) < cf (n) para todo n n0 . Exemplo: 2n = o(n2 ), mas 2n2 = o(n2 ). Intuitivamente, dizemos que o pequeno assintoticamente anlogo a e a menor que e O grande, anlogo a menor ou igual a. Assim, 2n2 a e O(n2 ), mas no o(n2 ). J 2n o(n2 ) e O(n2 ). a e a e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
O limite inferior denido pela notao , pode ou no ser ca a assintoticamente apertado (asymptotically tight, em ingls) e

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
O limite inferior denido pela notao , pode ou no ser ca a assintoticamente apertado (asymptotically tight, em ingls) e E.g., 2n = (n log n) no assintoticamente apertado a e assintoticamente apertado e

n + 4n log n = (n log n)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Notao ca
O limite inferior denido pela notao , pode ou no ser ca a assintoticamente apertado (asymptotically tight, em ingls) e E.g., 2n = (n log n) no assintoticamente apertado a e assintoticamente apertado e

n + 4n log n = (n log n)

Usamos a notao para denotar limites inferiores que so no ca a a assintoticamente apertado. Assim, dada uma funo g (n), ca denimos a fam de funes (n(g )) lia co (g (n)) = {f (n) : c > 0, n0 > 0

: 0 cg (n) < f (n) para todo n n0 }


Notao Assinttica ca o

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao ca

Uma funo g (n) (f (n)) se, para qualquer constante c > 0, ento ca e a 0 cf (n) < g (n) para todo n n0 . Exemplo: n2 n2 = (n), mas = (n2 ). 2 2

Intuitivamente, dizemos que assintoticamente anlogo a maior que e a n2 (n2 ), mas no (n2 ). e a e e anlogo a maior ou igual a. Assim, a 2 2 n (n) e (n). e J a 2

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Comparao de Funoes ca c

Muitas das propriedades relacionais de nmeros reais tambm se u e aplicam a comparaes assintticas. co o No caso das propriedades seguinte, suponhamos que f (n) e g (n) sejam assintoticamente positivas.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Comparao de Funoes (2) ca c

Transitividade:

f (n) = (g (n)) e g (n) = (h(n)) implicam f (n) = (h(n)) f (n) = O(g (n)) e g (n) = O(h(n)) implicam f (n) = O(h(n)) f (n) = (g (n)) e g (n) = (h(n)) implicam f (n) = (h(n)) f (n) = o(g (n)) e g (n) = o(h(n)) implicam f (n) = o(h(n)) f (n) = (g (n)) e g (n) = (h(n)) implicam f (n) = (h(n))

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Comparao de Funoes (3) ca c


Reexividade

f (n) = O(f (n)) f (n) = (f (n)) f (n) = (f (n))

Simetria

f (n) = (g (n)) se e somente se g (n) = (f (n))

Simetria de transposio ca

f (n) = O(g (n)) se e somente se g (n) = (f (n)) f (n) = o(g (n)) se e somente se g (n) = (f (n))
Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Prof. Warley Gramacho

Comparao de Funoes (4) ca c

Analogia entre a comparao assinttica de duas funes f e g e a ca o co comparao de dois nmeros reais a e b: ca u f (n) = O(g (n)) f (n) = (g (n)) f (n) = (g (n)) f (n) = o(g (n)) f (n) = (g (n)) ab ab a=b a<b a>b

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas


F (n) = O(1)

Algoritmos de complexidade O(1) so ditos de complexidade a constante. Uso do algoritmo independe de n. As instruoes do algoritmo so executadas um nmero xo de vezes. c a u

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas


F (n) = O(1)

Algoritmos de complexidade O(1) so ditos de complexidade a constante. Uso do algoritmo independe de n. As instruoes do algoritmo so executadas um nmero xo de vezes. c a u

F (n) = O(log n)

Um algoritmo de complexidade O(log n) dito ter complexidade logar tmica. Tpico em algoritmos que transformam um problema em outros o menores. Pode-se considerar o tempo de execuo como menor que uma ca constante grande. Quando n 1 mil, log2 n 10, quando n 1 milho, log2 n 20.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (2)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (2)


F (n) = O(n)

Um algoritmo de complexidade O(n) dito ter complexidade linear. Em geral, um pequeno trabalho realizado sobre cada elemento de entrada. a melhor situao poss para um algoritmo que tem de ca vel processar/produzir n elementos de entrada/sada. Cada vez que n dobra de tamanho, o tempo de execuo dobra. ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (2)


F (n) = O(n)

Um algoritmo de complexidade O(n) dito ter complexidade linear. Em geral, um pequeno trabalho realizado sobre cada elemento de entrada. a melhor situao poss para um algoritmo que tem de ca vel processar/produzir n elementos de entrada/sada. Cada vez que n dobra de tamanho, o tempo de execuo dobra. ca

F (n) = O(n log n)

Tpico em algoritmos que quebram um problema em outros menores, o resolvendo cada um deles independentemente e ajuntando as soluoes c depois. Quando n 1 milho, n log2 n cerca de 20 milhes. a o Quando n 2 milhes, n log2 n cerca de 42 milhes, pouco mais que o o o dobro.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (3)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (3)


F (n) = O(n2 )

Um algoritmo de complexidade O(n2 ) dito ter complexidade quadrtica. a Ocorrem quando os itens dados so processados aos pares, muitas a vezes em um anel dentro de outro. Sempre que n dobra, o tempo de execuo multiplicado por 4. ca Uteis para resolver problemas de tamanhos relativamente pequeno.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (3)


F (n) = O(n2 )

Um algoritmo de complexidade O(n2 ) dito ter complexidade quadrtica. a Ocorrem quando os itens dados so processados aos pares, muitas a vezes em um anel dentro de outro. Sempre que n dobra, o tempo de execuo multiplicado por 4. ca Uteis para resolver problemas de tamanhos relativamente pequeno.

F (n) = O(n3 )

Um algoritmo de complexidade O(n3 ) dito ter complexidade cbica. u u teis apenas para resolver pequenos problemas. Quando n 100, o nmero de operaoes da ordem de 1 milho. u c Sempre que n dobra, o tempo de execuo ca multiplicado por 8. ca

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (4)

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (4)


F (n) = O(2n )

Um algoritmo com complexidade O(2n ) dito ter complexidade exponencial. Em geral, no so teis sob o ponto de vista prtico. a u a Ocorrem na soluo de problemas quando se usa fora bruta para ca c resolve-los. Quando n 20, o tempo de execuo cerca de 1 milho. Quando n ca dobra o tempo ca elevado ao quadrado.

Prof. Warley Gramacho

Projeto e Anlise de Algoritmos a

Notao Assinttica ca o

Principais classes de problemas (4)


F (n) = O(2n )

Um algoritmo com complexidade O(2n ) dito ter complexidade exponencial. Em geral, no so teis sob o ponto de vista prtico. a u a Ocorrem na soluo de problemas quando se usa fora bruta para ca c resolve-los. Quando n 20, o tempo de execuo cerca de 1 milho. Quando n ca dobra o tempo ca elevado ao quadrado.

F (n) = O(n!)

Um algoritmo de complexidade O(n!) dito ter complexidade exponencial, apesar de O(n!) ter comportamento muito pior do que O(2n ). n = 20 20!, um nmero com 19 d u gitos. n = 40 40!, um nmero com 48 d u gitos.
Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Prof. Warley Gramacho

POSCOMP 2007
Observe as funoes representadas no grco abaixo. c a

Assinale a armativa FALSA sobre o crescimento assinttico dessas funoes. o c a) f (n) = O(h(n)) e i (n) = (g (n)). b) f (n) = (h(n)) e i (n) = (h(n)). c) g (n) = O(i (n)) e h(n) = (g (n)). d) g (n) = O(i (n)), i (n) = O(f (n)) e, portanto, g (n) = O(f (n)). e) h(n) = (i (n)), logo, i (n) = O(h(n)).
Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

POSCOMP 2007
Observe as funoes representadas no grco abaixo. c a

Assinale a armativa FALSA sobre o crescimento assinttico dessas funoes. o c a) f (n) = O(h(n)) e i (n) = (g (n)). b) f (n) = (h(n)) e i (n) = (h(n)). c) g (n) = O(i (n)) e h(n) = (g (n)). d) g (n) = O(i (n)), i (n) = O(f (n)) e, portanto, g (n) = O(f (n)). e) h(n) = (i (n)), logo, i (n) = O(h(n)).
Prof. Warley Gramacho Projeto e Anlise de Algoritmos a Notao Assinttica ca o

Você também pode gostar