Documente Academic
Documente Profesional
Documente Cultură
URL: http://www.ime.usp.br/song/mac5710.html
Notao O ca
Para estudarmos o comportamento assinttico para n grande interessa-nos o termo de ordem o superior: Mtodo 1: T1 (n) = O(n2 ) e Mtodo 1: T2 (n) = O(n) e A notaao O pode ser formalizada como se segue: c Dizemos que T (n) = O(f (n)) se existirem inteiro m e constante c tais que T (n) cf (n) para n > m. Isto , para valores de n sucientemente grandes, T (n) no cresece mais rapidamente que f (n). e a A importncia da complexidade pode ser observada pelo seguinte exemplo, que mostra 5 ala goritmos A1 a A5 para resolver um mesmo problema, de complexidades diferentes. Supomos que uma operaao leva 1 ms para ser efetuada. A tabela seguinte d o tempo necessrio por cada um c a a dos algoritmos. (Sempre suporemos logaritmos na base 2.) n 16 32 512 A1 T1 (n) = n 0.016s 0.032s 0.512s A2 T2 (n) = n log n 0.064s 0.16s 9s A3 T3 (n) = n2 0.256s 1s 4m 22s A4 T4 (n) = n3 4s 33s 1 dia 13h A5 T5 (n) = 2n 1m 4s 46 dias 10137 sculos e
Podemos muitas vezes melhorar o tempo de execuao de um programa (que implementa um c algoritmo dado) fazendo otimizaoes locais (e.g. usar x + x ao invs de 2x, em mquinas em que c e a a multiplicaao mais demorada que a adiao). c e c Entretanto, melhorias substanciais so muitas vezes obtidas se usarmos um algoritmo diferente, a com outra complexidade de tempo, e.g. obter um algoritmo de O(n log n) ao invs de O(n 2 ). e 1