Professional Documents
Culture Documents
Miguel Raggi
Algoritmos
ENES
UNAM
9 de febrero de 2017
1 Complejidad
Medir Algoritmos
O, y
1 Complejidad
Medir Algoritmos
O, y
17n O(n2 )
17n O(n2 )
n2 O(n2 )
17n O(n2 )
n2 O(n2 )
n3 16n2
/ O(n2 )
17n O(n2 )
n2 O(n2 )
n3 16n2
/ O(n2 )
n n log(n) O(n2 )
Miguel Raggi (Algoritmos ENES UNAM) Complejidad 9 de febrero de 2017 7 / 11
Grande-O
Definicion
Sea f : N N.
Intuitivamente: Decimos que g O(f ) si, hasta constantes, f
eventualmente le gana a g ; es decir, si g esta casi acotado por arriba
por un multiplo de f .
Formalmente: Definimos el conjunto de funciones O(f ) por la
siguiente propiedad:
17n O(n2 )
n2 O(n2 )
n3 16n2
/ O(n2 )
n n log(n) O(n2 )
log(n7 + 800n2 ) O(log(n))
Miguel Raggi (Algoritmos ENES UNAM) Complejidad 9 de febrero de 2017 7 / 11
Grande- y Grande-
Definicion
Definimos (f ) = O(f ) (f ). Es decir, g (f ) si f y g crecen igual
(y entonces f (g ).
Definicion
Definimos (f ) = O(f ) (f ). Es decir, g (f ) si f y g crecen igual
(y entonces f (g ).
Hable de f (n) = n
umero de pasos, como si eso estuviera bien
definido. Pero quizas para instancias del mismo tama
no, el n
umero
de pasos vara muchsimo.
Hable de f (n) = n
umero de pasos, como si eso estuviera bien
definido. Pero quizas para instancias del mismo tama
no, el n
umero
de pasos vara muchsimo.
Usualmente nos interesa el peor caso, o el promedio, casi nunca el
mejor caso (usualmente en el mejor de los casos, no hay nada que
hacer y el tiempo es casi 0).
Hable de f (n) = n
umero de pasos, como si eso estuviera bien
definido. Pero quizas para instancias del mismo tama
no, el n
umero
de pasos vara muchsimo.
Usualmente nos interesa el peor caso, o el promedio, casi nunca el
mejor caso (usualmente en el mejor de los casos, no hay nada que
hacer y el tiempo es casi 0).
Usualmente debes considerar ambos, el peor caso y el caso promedio.
Hable de f (n) = n
umero de pasos, como si eso estuviera bien
definido. Pero quizas para instancias del mismo tama
no, el n
umero
de pasos vara muchsimo.
Usualmente nos interesa el peor caso, o el promedio, casi nunca el
mejor caso (usualmente en el mejor de los casos, no hay nada que
hacer y el tiempo es casi 0).
Usualmente debes considerar ambos, el peor caso y el caso promedio.
A veces en la practica es falso que si un algoritmo A corre en tiempo
(n) es mejor que uno B que corra en tiempo (n3 ). Quizas es
10000000000n vs 0.0001n3 .
Hable de f (n) = n
umero de pasos, como si eso estuviera bien
definido. Pero quizas para instancias del mismo tama
no, el n
umero
de pasos vara muchsimo.
Usualmente nos interesa el peor caso, o el promedio, casi nunca el
mejor caso (usualmente en el mejor de los casos, no hay nada que
hacer y el tiempo es casi 0).
Usualmente debes considerar ambos, el peor caso y el caso promedio.
A veces en la practica es falso que si un algoritmo A corre en tiempo
(n) es mejor que uno B que corra en tiempo (n3 ). Quizas es
10000000000n vs 0.0001n3 .
Efectivamente, para n suficientemente grande, A le ganara a B, pero
quizas solo nos interesan casos peque
nos.
Gracias!