10
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

O(nlogn) Analisis

Embed Size (px)

Citation preview

Page 1: O(nlogn) Analisis

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

Page 2: O(nlogn) Analisis

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

Page 3: O(nlogn) Analisis

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+

Page 4: O(nlogn) Analisis

Propiedades de los Logaritmos

logb x = y⇔ by = xlogb f (x) = logb g(x)⇔ f (x) = g(x)logb1= 0logb b =1logb xy = logb x + logb y

logbxy= logb x − logb y

logb xn = n logb x

blogb x = x

logb xn =12logb x =

logb xn

logb a =logalogb

logb a =1

loga b

Page 5: O(nlogn) Analisis

Solución de Recurrencias

Método de Substitución e Inducción Matemática

Arboles de Recursión

“Master Method”

Page 6: O(nlogn) Analisis

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 =12T (n / 2)+ cn n >1

!"#

$#

%&#

'#

Page 7: O(nlogn) Analisis

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!" #$))+ nT (n) ≤ cn lg(n / 2)+ nT (n) = cn lgn− cn lg2+ nT (n) = cn lgn− cn+ nT (n) ≤ cn lgn

Page 8: O(nlogn) Analisis

Árbol de Recurrencias 4.4 The recursion-tree method for solving recurrences 89

…(d)

(c)(b)(a)

T .n/ cn2 cn2

cn2

T!

n4

"T

!n4

"T

!n4

"

T!

n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"

cn2

c!

n4

"2c

!n4

"2c

!n4

"2

c!

n4

"2c

!n4

"2c

!n4

"2

c!

n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2

316

cn2

!3

16

"2cn2

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/

Figure 4.5 Constructing a recursion tree for the recurrence T .n/ D 3T .n=4/ C cn2. Part (a)shows T .n/, which progressively expands in (b)–(d) to form the recursion tree. The fully expandedtree in part (d) has height log4 n (it has log4 nC 1 levels).

4.4 The recursion-tree method for solving recurrences 89

…(d)

(c)(b)(a)

T .n/ cn2 cn2

cn2

T!

n4

"T

!n4

"T

!n4

"

T!

n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"T

!n16

"

cn2

c!

n4

"2c

!n4

"2c

!n4

"2

c!

n4

"2c

!n4

"2c

!n4

"2

c!

n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2c

!n16

"2

316

cn2

!3

16

"2cn2

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/

Figure 4.5 Constructing a recursion tree for the recurrence T .n/ D 3T .n=4/ C cn2. Part (a)shows T .n/, which progressively expands in (b)–(d) to form the recursion tree. The fully expandedtree in part (d) has height log4 n (it has log4 nC 1 levels).

T (n) = 3T (n / 4)+ cn2

Page 9: O(nlogn) Analisis

“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(n logb a−∈ ) ∈> 0 T (n) = O(n logb a )

f (n) =Θ(n logb a ) T (n) =O(n logb a lgn)

f (n) =Ω(n logb a+∈ ) e > 0 af (n / b) ≤ cf (n) T (n) =Θ( f (n))

Page 10: O(nlogn) Analisis

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

n logb a = n log3 9 =Θ(n2 )

O(n log3 9−ε ) ε =1 T (n) =Θ(n2 )

n logb a = n log3/21 = n0 =1f (n) =Θ(n logb a ) =Θ(1)T (n) =Θ(lgn)