Ejercicio 2.3

Ejercicio 2.3

de Marco Liguori Hernandez -
Número de respuestas: 1

¡Buenas!,

Estoy teniendo un poco de de dificultad para encontrar los c y n0 para las funciones de orden de crecimiento.

En el caso del algoritmo 3, sean: C1 : asignaciones, C2: comparaciones, C3 : incrementos, entonces la función de tiempo de ejecución me queda de la siguiente manera:

gif.latex?T%28n%29%20%3D%20C1%20+%20C1%20+%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%28C2+C3+C1+%5Csum_%7Bj%3D1%7D%5E%7Bn*n%7D%28C2+C3+C3%29%20+C2%29+C2

Luego, para hallar el c y n0, se me ocurren algunas formas (como definirme un h = max{C1, C2, C3} y de ahí usar n0 = 1 por ejemplo, o también completar las potencias del polinomio resultante de desarrollar T(n) por n^3 y así despejar c en función de C1, C2 y C3) pero no veo como demostrar de forma limpia que para todos los n >= n0 se va cumplir, más que en algún caso evidente como el algoritmo 1.

Desde ya muchas gracias, 

Marco.


En respuesta a Marco Liguori Hernandez

Re: Ejercicio 2.3

de Fernando Fernandez -
Hola.
La idea del h está bien, y de hecho podés suponer que h = 1.
Lo que conviene hacer después es desarrollar la expresión hasta obtener algo como

T(n) \leq a_0 + a_1 x^1 + \cdots + a_p x^p.

Entonces, si m = \max\{a_0, \ldots, a_p\}, se cumple

T(n) \leq  m \, (p+1)\, x^p.