Crecimiento de funciones
Transcripción
Crecimiento de funciones
Crecimiento de funciones Crecimiento de Funciones Cómo se comporta f(x) cuando x se incrementa? Funciones de interés f(x)=1 (f es una constante) f(x)= log x f(x) =x f(x)= x log x f(x) = x2 f(x) = 2x f(x) = x! Crecimiento de Funciones Lista ordenada de f(x) por razón de crecimiento? Logaritmos: logb y : potencia a la cual se debe elevar b para obtener y Funciones útiles para describir desempeño de algoritmos cuando tamaño de la entrada crece Crecimiento de funciones g(x) f(x) Crecimiento de funciones g(x) f(x) Siempre se cumple que f(x)<g(x) para cualquier valor x g(x) es una cota superior de f(x) g(x)=x2 f(x)=x g(x)=x f(x)=x1/2 g(x)=x f(x)=sen x Está (sen x) por debajo de x2 g(x)=x f(x)=log x g(x)=x1/2 f(x)=log x x2 x x1/2 log(x) g(x)=x2 f(x)=sen(x) + x g(x)=x2 f(x)=sen(x) + x g(x)=x2 f(x)=sen(x) + x g(x) sigue siendo una cota superior de f(x) f(x)=2x g(x)=x Buscar una cota superior para f(x) en términos de g(x) c*g(x)=3x f(x)=2x g(x)=x C*g(x) es una cota superior para f(x) Crecimiento de funciones g(x) f(x) Si g(x) o algún c*g(x) es una cota superior de f(x), para los x>k, se dice que f(x) es O(g(x)) Crecimiento de funciones f(x) g(x) f(x) es O(g(x)) ? Crecimiento de funciones C*g(x) f(x) g(x) Si g(x) o algún c*g(x) es una cota superior de f(x), para los x>k, se dice que f(x) es O(g(x)) k K y C son constantes g(x)=x1/2 f(x)=log x g(x)=x f(x)=log x f(x)=2x g(x)=x c*g(x)=3x f(x)=2x g(x)=x C*g(x) es una cota superior para f(x) Crecimiento de funciones Dadas dos funciones f y g, se dice que f(x) es O(g(x)) si existen constantes c y k tales que f(x) ≤ c ∗ g(x) se cumple para todos los x >k g(x)=x2 f1(x)=x f2(x)=x1/2 f3(x)=log(x) g(x) es una cota superior de f1(x), f2(x), f3(x) Crecimiento de funciones O(g(x)) = { f(x)| existen constantes positivas c y k, tales que 0 ≤ f(x) ≤ c *g(x), ∀x > k} Crecimiento de funciones O(x2) = { x, x1/2, log(x),…} Crecimiento de funciones f(x)=x2 + 2x g(x)=x2 Es f(x), O(g(x))? Buscar un c tal que cx2 esté por encima de x2+2x Cg(x)=3x2 f(x)=x2 + 2x g(x)=x2 Es f(x), O(g(x))? Crecimiento de funciones Muestre que 7x2 =O(x3) Crecimiento de funciones 7x2 < x3 para x >7 Por lo tanto se cumple que f(x)≤ 1g(x) para x > 7 C=1, k=7 Crecimiento de funciones Es x3, O(7x2) Crecimiento de funciones Es x3, O(7x2) ? x3 < C 7x2 x < 7C Para todo x > k, no se cumple x < 7C Asi que x3 no es O(7x2) Polinomios Sea f(x)= anxn +an-1xn-1+…+a1x1+a0 donde a0,a1,…,an son números reales f(x) es O(xn) Ejemplo Estimar suma de n primeros enteros positivos 1+2+3+….+n 1+2+3+….+n ≤ n+n+n+….+n ≤ n2 1+2+3+….+n es O(n2) C=1, k=1 Ejemplo Estimar con notación O f(n)=n! y su logarítmo n! =1.2.3…n para cada entero positivo n Asumir que cada término del producto no es mayor que n n! = 1.2.3….n ≤ n.n.n….n= nn n! es O(nn) C=1, k=1 Ejemplo log n! ≤ log nn ≤ n log n log n! es O(n log n) C=1, k=1 Crecimiento: combinación de funciones Si f1(x) es O(g1(x)) y f2(x) es O(g2(x)) Entonces (f1+ f2)(x) es O(max (g1(x), g2(x))) Cuando f1(x) es O(g(x)) y f2(x) es O(g(x)) (f1+ f2)(x) es O(g(x)) Crecimiento: combinación de funciones Si f1(x) es O(g1(x)) y f2(x) es O(g2(x)) Entonces (f1 f2)(x) es O(g1(x) g2(x))