1. S
O(n lg n)
Ing. Juan Ignacio Zamora M. MS.c
Facultad de Ingenierías
Licenciatura en Ingeniería Informática con Énfasis en Desarrollo de Software
Universidad Latinoamericana de Ciencia y Tecnología
2. Funciones Exponenciales
S Una función exponencial es la que tiene por criterio
S Tal que b > 0 y b <> 1. “b” se llama base y su exponente es
la variable independiente
S Características
S Biyectiva y continua
S Asintótica al eje x (NO corta el eje x)
S Si b > 1, es estrictamente creciente
S Si 0 < b < , es estrictamente decreciente
f (x) = bx
3. Funciones Logarítmicas
S La función logarítmica es la inversa de la exponencial y viceversa.
S Se denota por
S El logaritmo de un numero negativo no esta definido asi tampoco
como el logaritmo de cero, dado que el dominio esta contenido en
S Características
S Asintótica al eje Y (NO Corta el eje Y)
S Si b > 1, la función es estrictamente creciente
S Si 0 < b < 1, entonces es decreciente
f (x) = logb ⇔ bx
= y
R+
4. Propiedades de los Logaritmos
logb x = y ⇔ by
= x
logb f (x) = logb g(x)⇔ f (x) = g(x)
logb 1= 0
logb b =1
logb xy = logb x + logb y
logb
x
y
= logb x −logb y
logb xn
= nlogb x
blogb x
= x
logb xn
=
1
2
logb x =
logb x
n
logb a =
loga
logb
logb a =
1
loga b
6. Featuring à Merge Sort
S Por Ejemplo Merge-Sort tiene un tiempo asintótico de
S T(n) = aT(n/b) + D(n) + C(n)
S aT(n/b) : representa el tamaño de cada sub problema
(conquistar)
S D(n) : representa el tiempo que toma dividir
S C(n) : representa el tiempo que toma combinar
S Dado que en Merge Sort D(n) = O(1), no se incluye y C(n) =
O(n) por tanto
T(n) =
c n =1
2T(n / 2)+cn n >1
!
"
#
$#
%
&
#
'#
7. El Método de Substitución
S Paso 1: Adivine cual puede ser la forma de la solución*
S Paso 2: Utilizar inducción matemática para probar que nuestra teoría era correcta
(prueba).
S Dada una recurrencia T(n) = 2T(n/2) + n
S Establecemos que T(n) = O(n lg n)
S c > 0, c = 1
S m = n/2
T( n 2!" #$) ≤ c n 2!" #$lg n 2!" #$
T(n) ≤ 2(c n 2!" #$lg( n 2!" #$))+ n
T(n) ≤ cnlg(n / 2)+ n
T(n) = cnlgn −cnlg2 + n
T(n) = cnlgn −cn + n
T(n) ≤ cnlgn
8. Árbol de Recurrencias
4.4 The recursion-tree method for solving recurrences 89
…
…
(c)(b)(a)
T .n/ cn2
cn2
cn2
T n
4
T n
4
T n
4
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
cn2
c n
4
2
c n
4
2
c n
4
2
c n
4
2
c n
4
2
c n
4
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
3
16
cn2
3
16
2
cn2
log4 n
T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/ ‚.nlog4 3
/
4.4 The recursion-tree method for solving recurrences 89
…
…
(d)
(c)(b)(a)
T .n/ cn2
cn2
cn2
T n
4
T n
4
T n
4
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
T n
16
cn2
c n
4
2
c n
4
2
c n
4
2
c n
4
2
c n
4
2
c n
4
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
c n
16
2
3
16
cn2
3
16
2
cn2
log4 n
nlog4 3
T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/T .1/ ‚.nlog4 3
/
Total: O.n2
/
T(n) = 3T(n / 4)+cn2
9. “Master Method”
S Es una receta de cocina para para resolver recurrencias que
concuerden con la forma T(n) = aT(n/b) + f(n) donde a y b
> 1.
S El “Master Method” se basa en 3 casos:
f (n) = O(nlogb a−∈
) ∈> 0 T(n) = O(nlogb a
)
f (n) = Θ(nlogb a
) T(n) = O(nlogb a
lgn)
f (n) = Ω(nlogb a+∈
) e > 0 af (n / b) ≤ cf (n) T(n) = Θ( f (n))
10. Uso de “Master Method”
S Consideremos un tiempo T(n) = 9T(n/3) + n
S Decimos que:
S a = 9, b = 3, f(n) = n
S Otro ejemplo: T(n) = T(2n/3) + 1
S a = 1, b = 3/2, f(n) = 1
nlogb a
= nlog3 9
= Θ(n2
)
O(nlog3 9−ε
) ε =1 T(n) = Θ(n2
)
nlogb a
= nlog3/21
= n0
=1
f (n) = Θ(nlogb a
) = Θ(1)
T(n) = Θ(lgn)