SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Universidad Andr´es Bello
Facultad de Ingenier´ıa
Ingenier´ıa en Computaci´on e Inform´atica
Dise˜no de Algoritmos
Ejercicios Resueltos - An´alisis
Prof. C´atedra: Carlos Contreras Bolton Fecha: 25 de Marzo de 2014
Profs. Laboratorio: Daniela Ubilla – Felipe Reyes
Ejercicio 1: Sumatoria
n
i=1
i = 1 + 2 + 3 + ... + (n − 1) + n (1)
Si invertimos la suma tenemos:
n
i=1
i = n + (n − 1) + ... + 3 + 2 + (2)
Si sumamos componente a componente (1) y (2) tenemos:
2
n
i=1
i = (1 + n) + (2 + (n − 1)) + (3 + (n − 2)) + ... + ((n − 1) + 2) + (n + 1) (3)
Que es lo mismo que:
2
n
i=1
i = (n + 1) + (n + 1) + (n + 1) + ... + (n + 1) + (n + 1) (4)
La parte derecha est´a compuesta por n sumas de n + 1:
2
n
i=1
i = n(n + 1) (5)
Finalmente:
n
i=1
i =
n(n + 1)
2
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 2: Resolver
Resolver:
T(n) = T(
√
n) + c; T(1) = d; T(2) = d;
Expandimos:
T(n) = T(
√
n) + c
= T(n
1
2 ) + c
= T n
1
22
+ c + c
= T n
1
22
+ 2c
= T n
1
23
+ c + 2c
= T n
1
23
+ 3c
...
= T n
1
2k
+ kc
Expandimos hasta T(2), entonces:
n
1
2k
= 2
2k√
n = 2
n = 22k
2k
= log2 n
k = log2 log2 n
Continuamos:
= T n
1
2k
+ kc
= T(2) + kc
= d + c log2 log2 n
= O(log2 log2 n)
Carlos Contreras Bolton
2
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 3: Resolver
T(n) = 3
n
2
+ n2
− n; T(1) = 1 (1)
Expandimos:
T(n) = 3T(
n
2
) + n2
− n
= 3 3T
n
4
+
n
2
2
−
n
2
+ n2
− n = 9T
n
4
+ 3
n2
4
−
n
2
+ n2
− n
= 27T
n
8
+ 9
n2
16
−
n
4
+ 3
n2
4
−
n
2
+ n2
− n
...
= 3i
T
n
2i
+ n2
i−1
j=0
(
3
4
)j
+ n
i−1
j=0
(
3
2
)j
= 3i
T
n
2i
− 4n2 3
4
i
+ 4n2
− 2n
2
3
i
+ 2n por
n
i=0
ai
=
an+1
− 1
a − 1
...
= 3log n
T
n
2log n
− 4n2 3
4
log n
+ 4n2
− 2n
2
3
log n
+ 2n
= nlog 3
T(1) − 4nlog 3
+ 4n2
− 2nlog 3
+ 2n
= 4n2
− 5nlog 3
+ 2n
= O(n2
)
Carlos Contreras Bolton
3
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 4: Resolver
Usando el m´etodo de la sustituci´on:
T(n) = 2T n
2 + bn log n
Adivinamos que O(n log n).
Probar T(n) ≤ cn log n por inducci´on.
T(n) = 2T(
n
2
) + bn log n
= 2 c
n
2
log
n
2
+ bn log n
= cn(log n − log 2) + bn log n
= cn log n − cn + bn log n
= cn log n − (cn − bn log n)
No se cumple, puesto que no podemos hacer que esta ´ultima l´ınea sea menor que cn log n
Entonces, adivinamos que O(n log2
n).
Probar T(n) ≤ cn log2
n por inducci´on.
T(n) = 2T(
n
2
) + bn log n
= 2 c
n
2
log2 n
2
+ bn log n
= cn(log n − log 2)2
+ bn log n
= cn log2
n − 2cn log n + cn + bn log n
= cn log2
n − (2cn log n − cn − bn log n)
Si c > b. Por lo tanto, T(n) = n log2
n.
Carlos Contreras Bolton
4
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 5: Resolver
T(n) = 1
n
n−1
i=0 T(i) + cn, con T(0)=0.
T(n) =
1
n
n−1
i=0
T(i) + cn (1)
Multiplicar por n en (1):
nT(n) =
n−1
i=0
T(i) + cn2
(2)
Desplazando (2) en n − 1:
(n − 1)T(n − 1) =
n−2
i=0
T(i) + c(n − 1)2
(3)
Restando (2)-(3):
nT(n) − (n − 1)T(n − 1) = (
n−1
i=0
T(i) −
n−2
i=0
T(i)) + (cn2
− c(n − 1)2
) (4)
nT(n)−(n−1)T(n−1) = ((T(0)+...+T(n−2)+T(n−1))−(T(0)+...+T(n−2)))+(cn2
−c(n2
−2n+1)) (5)
nT(n) − (n − 1)T(n − 1) = T(n − 1) + 2cn − c (6)
nT(n) = nT(n − 1) + 2cn − c (7)
Dividiendo (7) por n:
T(n) = T(n − 1) +
2cn − c
n
(8)
Expandiendo:
T(n) =
2cn − c
n
+ T(n − 1)
=
2cn − c
n
+
2c(n − 1) − c
n − 1
+ T(n − 2)
=
2cn − c
n
+
2c(n − 1) − c
n − 1
+
2c(n − 2) − c
n − 2
+ T(n − 3)
=
2cn − c
n
+
2c(n − 1) − c
n − 1
+
2c(n − 2) − c
n − 2
+ ... +
2c(1) − c
1
+ T(0)
=
2cn
n
+
2c(n − 1)
n − 1
+
2c(n − 2)
n − 2
+ ... +
2c(1)
1
−
c
n
+
c
n − 1
+
c
n − 2
+ ... +
c
1
= (2c + 2c + 2c + ... + 2c) − c
n
i=1
1
i
= 2cn − c
n
i=1
1
i
= 2cn − cHn
< 2cn
Por lo tanto, T(n) = O(n).
Carlos Contreras Bolton
5
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 6: Resolver
T(n) = n − 1 +
2
n
n−1
i=1
T(i), n ≥ 2. T(1) = 0 (1)
Re-escribir la recurrencia para n + 1:
T(n + 1) = (n + 1) − 1 +
2
n + 1
n
i=1
T(i) (2)
Multiplicar (1) por n y (2) por n + 1:
nT(n) = n(n − 1) + 2
n−1
i=1
T(i) (3)
(n + 1)T(n + 1) = (n + 1)n + 2
n
i=1
T(i) (4)
Restar (4)-(3):
(n + 1)T(n + 1) − nT(n) = (n + 1)n − n(n − 1) + 2(
n
i=1
T(i) −
n−1
i=1
T(i)) (5)
(n+1)T(n+1)−nT(n) = 2n+2((T(0)+T(1)+...+T(n−1)+T(n))−(T(0)+T(1)+...+T(n−1))) (6)
(n + 1)T(n + 1) − nT(n) = 2n + 2T(n) (7)
T(n + 1) =
n + 2
n + 1
T(n) +
2n
n + 1
(n ≥ 2) (8)
Podemos simplificar 2n/(n + 1) como cota inferior 2.
T(n + 1) ≤
n + 2
n + 1
T(n) + 2 (9)
T(n) ≤
n + 1
n
T(n − 1) + 2 (10)
Expandiendo (10):
T(n) ≤ 2 +
n + 1
n
T(n − 1)
= 2 +
n + 1
n
2 +
n
n − 1
T(n − 2)
= 2 +
n + 1
n
2 +
n
n − 1
2 +
n − 1
n − 2
T(n − 3)
= 2 +
n + 1
n
2 +
n
n − 1
2 +
n − 1
n − 2
2 +
n − 2
n − 3
T(n − 4)
¿Hasta d´onde llega la expansi´on? hasta llegar a T(3) ≤ 4
3 T(2)+2 = 2+ 4
3 (3
2 T(1)+2), como T(1) = 0,
entonces T(3) ≤ 2 + 4
3 (2) (este es el motivo del 4/3 visto en el ejercicio en clases).
Continuando con la expansi´on:
Carlos Contreras Bolton
6
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
T(n) ≤ 2 +
n + 1
n
2 +
n
n − 1
2 +
n − 1
n − 2
2 +
n − 2
n − 3
..,2 +
4
3
(2)
= 2 1 +
n + 1
n
+
n + 1
n
n
n − 1
+
n + 1
n
n
n − 1
n − 1
n − 2
+ ... +
n + 1
n
n
n − 1
n − 1
n − 2
...
4
3
= 2 1 +
n + 1
n
+
n + 1
n − 1
+
n + 1
n − 2
+ ... +
n + 1
3
= 2(n + 1)
1
n + 1
+
1
n
+
1
n − 1
+ ... +
1
3
= 2(n + 1)
1
n + 1
+
1
n
+
1
n − 1
+ ... +
1
3
+
1
2
+ 1 −
1
2
+ 1
= 2(n + 1)(H(n + 1) − 1, 5)
Recuerden que H(n) = 1+1/2+1/3+...+1/n es la serie harm´onica, la cual tiene una aproximaci´on
a H(n) = ln n + γ + O(1/n), donde γ = 0, 577.. es la constante de Euler. Entonces la soluci´on a T(n) es:
T(n) ≤ 2(n + 1)(ln n + γ − 1, 5) + O(1) = O(n log n)
Carlos Contreras Bolton
7
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 7: Resolver
T(n) =
a if n = 1;
2T(n/4) + log n if n > 1.
T(n) = 2T
n
4
+ log n
= 2 2T
n
42
+ log
n
4
+ log n = 22
T
n
42
+ 2 log
n
4
+ log n
= 2 2 2T
n
43
+ log
n
42
+ log
n
4
+ log n = 23
T
n
43
+ 22
log
n
42
+ 2 log
n
4
+ log n
= ...
= 2i
T
n
4i
+
i−1
k=0
log
n
4k
= 2i
T
n
4i
+ log n
i−1
k=0
2k
−
i−1
k=0
2k
log 4k
Considerando n como potencia de 4 y todos los logaritmos en base 4 (la base no importa tanto, lo
importante es que es logaritmo) tenemos:
T(n) = 2i
T
n
4i
+ log4 n
i−1
k=0
2k
−
i−1
k=0
2k
log4 4k
= ...
= 2i
T (1) + log4 n
i−1
k=0
2k
−
i−1
k=0
2k
k
= a2i
+ log4 n(2i
− 1) − (i − 2)2i
− 2
Considerando que n es potencia de 4, entonces n = 4i
e i = log4 n. Tambi´en podemos obtener que√
n = 2i
.
T(n) = a2i
+ log4 n(2i
− 1) − (i − 2)2i
− 2
= a
√
n + log4 n(
√
n − 1) − (log4 n − 2)
√
n − 2
= (a + 2)
√
n − log4 n − 2
Por lo tanto T(n) = Θ(
√
n).
Carlos Contreras Bolton
8
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
Ejercicio 8: Resolver
T(n) =
1 n = 1
n−1
i=1 T(i) + n2
n ≥ 2
Si restamos T(n − 1) a T(n) tenemos:
T(n) − T(n − 1) =
n−1
i=1
T(i) + n2
−
n−2
i=1
T(i) + (n − 1)2
=
n−2
i=1
T(i) + T(n − 1) + n2
−
n−2
i=1
T(i) + n2
− 2n + 1
= T(n − 1) + 2n − 1
Si despejamos tenemos:
T(n) = 2T(n − 1) + 2n − 1
Expandiendo la recurrencia:
T(n) = 2T(n − 1) + 2n − 1
= 2(2T(n − 2) + 2(n − 1) − 1) + 2n − 1
= 22
T(n − 2) + 22
(n − 1) − 2 + 2n − 1
= 22
(2T(n − 3) + 2(n − 2) − 1) + 22
(n − 1) − 2 + 2n − 1
= 23
T(n − 3) + 23
(n − 2) − 22
+ 22
(n − 1) − 2 + 2n − 1
= 23
T(n − 3) + (23
(n − 2) + 22
(n − 1) + 2n) − (22
+ 2 + 1)
= 23
T(n − 3) + (23
(n − 2) + 22
(n − 1) + 21
(n − 0)) − (22
+ 21
+ 20
)
...
= 2i
T(n − i) +
i−1
j=0
2j+1
(n − j) −
i−1
j=0
2j
= 2i
T(n − i) + n
i−1
j=0
2j+1
−
i−1
j=0
j2j+1
−
i−1
j=0
2j
= 2i
T(n − i) + 2n
i−1
j=0
2j
− 2
i−1
j=0
j2j
−
i−1
j=0
2j
...
= 2i
T(n − i) + (2n − 1)
i−1
j=0
2j
− 2
i−1
j=0
j2j
Al caso base se llega cuando n − i = 1, entonces i = n − 1:
T(n) = 2n−1
T(1) + (2n − 1)
n−2
j=0
2j
− 2
n−2
j=0
j2j
Considerando que:
Carlos Contreras Bolton
9
Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis
n−2
j=0
2j
= 2n−1
− 1
n−2
j=0
j2j
= (n − 3)2n−1
+ 2
Reemplazando en la recurrencia:
T(n) = 2n−1
+ (2n − 1)(2n−1
− 1) − 2((n − 3)2n−1
+ 2)
= (1 + 2n − 1 − 2n + 6)2n−1
− 2n + 1 − 4
= 6 · 2n−1
− 2n − 3
= 3 · 2n
− 2n − 3
∈ Θ(2n
)
Carlos Contreras Bolton
10

Más contenido relacionado

La actualidad más candente

Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosALGLYS RAMIREZ
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Stalin Eduardo Tusa Vitar
 
Soluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabSoluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabHugo Piure
 
Automatas Infinitos
Automatas Infinitos Automatas Infinitos
Automatas Infinitos Orlando
 
Bucket sort
Bucket sortBucket sort
Bucket sorteislenp
 
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton RaphsonVentajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton RaphsonDiana Laura Ochoa Gallegos
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una colajeffersoncenteno
 
Ecuaciones de primer orden.
Ecuaciones de primer orden.Ecuaciones de primer orden.
Ecuaciones de primer orden.Andre Clavijo
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOWilmer Quintero
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellJosé A. Alonso
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
manual de practicas de opengl
manual de practicas de openglmanual de practicas de opengl
manual de practicas de openglAlincita Simon
 
Aplicaciones La Transformada De Laplace
Aplicaciones La Transformada De LaplaceAplicaciones La Transformada De Laplace
Aplicaciones La Transformada De LaplaceKJEP
 

La actualidad más candente (20)

Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)Inserción,borrado y búsqueda en Arboles Binarios(Java)
Inserción,borrado y búsqueda en Arboles Binarios(Java)
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Soluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en MatlabSoluciones de sistema de ecuaciones en Matlab
Soluciones de sistema de ecuaciones en Matlab
 
Automatas Infinitos
Automatas Infinitos Automatas Infinitos
Automatas Infinitos
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton RaphsonVentajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
Ventajas y Desventajas de Métodos de Bisección, Secante y Newton Raphson
 
Insertar elementos en una cola
Insertar elementos en una colaInsertar elementos en una cola
Insertar elementos en una cola
 
Ecuaciones de primer orden.
Ecuaciones de primer orden.Ecuaciones de primer orden.
Ecuaciones de primer orden.
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en Haskell
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
manual de practicas de opengl
manual de practicas de openglmanual de practicas de opengl
manual de practicas de opengl
 
Aplicaciones La Transformada De Laplace
Aplicaciones La Transformada De LaplaceAplicaciones La Transformada De Laplace
Aplicaciones La Transformada De Laplace
 

Destacado

21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosJaro
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Resumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de AlgoritmosResumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de Algoritmosmarshalleitor
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosSergio Ormeño
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)irvingsalazar2
 
Algoritmo impresora
Algoritmo impresoraAlgoritmo impresora
Algoritmo impresorapctechnical
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmosjuanmonsalve001
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 

Destacado (20)

21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Complejidad Computacional
Complejidad ComputacionalComplejidad Computacional
Complejidad Computacional
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Resumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de AlgoritmosResumen Complejidad Computacional y de Algoritmos
Resumen Complejidad Computacional y de Algoritmos
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
EVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOSEVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOS
 
Elaboracion de algoritmos
Elaboracion de algoritmosElaboracion de algoritmos
Elaboracion de algoritmos
 
Solución de problemas con algoritmos
Solución de problemas con algoritmosSolución de problemas con algoritmos
Solución de problemas con algoritmos
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)
 
Algoritmo impresora
Algoritmo impresoraAlgoritmo impresora
Algoritmo impresora
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 

Similar a ejercicios resueltos análisis de algoritmos

Solucionario Tercera Práctica Calificada de Matemática V - FIEE UNI
Solucionario Tercera Práctica Calificada de Matemática V - FIEE UNISolucionario Tercera Práctica Calificada de Matemática V - FIEE UNI
Solucionario Tercera Práctica Calificada de Matemática V - FIEE UNIAndy Juan Sarango Veliz
 
Za areabajocurva m1152
Za areabajocurva m1152Za areabajocurva m1152
Za areabajocurva m1152Juan Paez
 
Recursividad
RecursividadRecursividad
Recursividadbritkarem
 
Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01TEOFILO PARQUI
 
Integración por sustitución
Integración por sustituciónIntegración por sustitución
Integración por sustituciónErick Guaman
 
Solucionario matematica 5
Solucionario matematica 5Solucionario matematica 5
Solucionario matematica 5Consul Har
 
Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Consul Har
 
Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Consul Har
 
Series de fourier - Ejemplos Resueltos
Series de fourier - Ejemplos Resueltos Series de fourier - Ejemplos Resueltos
Series de fourier - Ejemplos Resueltos Joe Arroyo Suárez
 
Sucesiones y series
Sucesiones y seriesSucesiones y series
Sucesiones y seriesALLPARUNA
 
Métodos dinámicos en economía - héctor ortega
Métodos dinámicos en economía - héctor ortegaMétodos dinámicos en economía - héctor ortega
Métodos dinámicos en economía - héctor ortega2806198620022011
 
Tarea ecuaciones diferenciales
Tarea ecuaciones diferencialesTarea ecuaciones diferenciales
Tarea ecuaciones diferencialesSalMndez5
 
Personales.upv.es aperis docencia_int_linea
Personales.upv.es aperis docencia_int_lineaPersonales.upv.es aperis docencia_int_linea
Personales.upv.es aperis docencia_int_lineaRuben Matamoros Urrutea
 
Tomo II: Problema 64
Tomo II: Problema 64Tomo II: Problema 64
Tomo II: Problema 64carlos21gt
 

Similar a ejercicios resueltos análisis de algoritmos (20)

Solucionario Tercera Práctica Calificada de Matemática V - FIEE UNI
Solucionario Tercera Práctica Calificada de Matemática V - FIEE UNISolucionario Tercera Práctica Calificada de Matemática V - FIEE UNI
Solucionario Tercera Práctica Calificada de Matemática V - FIEE UNI
 
Za areabajocurva m1152
Za areabajocurva m1152Za areabajocurva m1152
Za areabajocurva m1152
 
Recursividad
RecursividadRecursividad
Recursividad
 
Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01
 
Integración por sustitución
Integración por sustituciónIntegración por sustitución
Integración por sustitución
 
Problemas resueltos7
Problemas resueltos7Problemas resueltos7
Problemas resueltos7
 
Recurrencias
RecurrenciasRecurrencias
Recurrencias
 
Solucionario matematica 5
Solucionario matematica 5Solucionario matematica 5
Solucionario matematica 5
 
Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01
 
Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01Solucionario5tosecundaria1 110429080504-phpapp01
Solucionario5tosecundaria1 110429080504-phpapp01
 
Series de fourier - Ejemplos Resueltos
Series de fourier - Ejemplos Resueltos Series de fourier - Ejemplos Resueltos
Series de fourier - Ejemplos Resueltos
 
Sucesiones y series
Sucesiones y seriesSucesiones y series
Sucesiones y series
 
Métodos dinámicos en economía - héctor ortega
Métodos dinámicos en economía - héctor ortegaMétodos dinámicos en economía - héctor ortega
Métodos dinámicos en economía - héctor ortega
 
Tarea ecuaciones diferenciales
Tarea ecuaciones diferencialesTarea ecuaciones diferenciales
Tarea ecuaciones diferenciales
 
Solucionario de-lomeli
Solucionario de-lomeliSolucionario de-lomeli
Solucionario de-lomeli
 
Subirblog
SubirblogSubirblog
Subirblog
 
Subirblog2
Subirblog2Subirblog2
Subirblog2
 
Taller de metodos
Taller de metodosTaller de metodos
Taller de metodos
 
Personales.upv.es aperis docencia_int_linea
Personales.upv.es aperis docencia_int_lineaPersonales.upv.es aperis docencia_int_linea
Personales.upv.es aperis docencia_int_linea
 
Tomo II: Problema 64
Tomo II: Problema 64Tomo II: Problema 64
Tomo II: Problema 64
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 

Último (15)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

ejercicios resueltos análisis de algoritmos

  • 1. Universidad Andr´es Bello Facultad de Ingenier´ıa Ingenier´ıa en Computaci´on e Inform´atica Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Prof. C´atedra: Carlos Contreras Bolton Fecha: 25 de Marzo de 2014 Profs. Laboratorio: Daniela Ubilla – Felipe Reyes Ejercicio 1: Sumatoria n i=1 i = 1 + 2 + 3 + ... + (n − 1) + n (1) Si invertimos la suma tenemos: n i=1 i = n + (n − 1) + ... + 3 + 2 + (2) Si sumamos componente a componente (1) y (2) tenemos: 2 n i=1 i = (1 + n) + (2 + (n − 1)) + (3 + (n − 2)) + ... + ((n − 1) + 2) + (n + 1) (3) Que es lo mismo que: 2 n i=1 i = (n + 1) + (n + 1) + (n + 1) + ... + (n + 1) + (n + 1) (4) La parte derecha est´a compuesta por n sumas de n + 1: 2 n i=1 i = n(n + 1) (5) Finalmente: n i=1 i = n(n + 1) 2
  • 2. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 2: Resolver Resolver: T(n) = T( √ n) + c; T(1) = d; T(2) = d; Expandimos: T(n) = T( √ n) + c = T(n 1 2 ) + c = T n 1 22 + c + c = T n 1 22 + 2c = T n 1 23 + c + 2c = T n 1 23 + 3c ... = T n 1 2k + kc Expandimos hasta T(2), entonces: n 1 2k = 2 2k√ n = 2 n = 22k 2k = log2 n k = log2 log2 n Continuamos: = T n 1 2k + kc = T(2) + kc = d + c log2 log2 n = O(log2 log2 n) Carlos Contreras Bolton 2
  • 3. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 3: Resolver T(n) = 3 n 2 + n2 − n; T(1) = 1 (1) Expandimos: T(n) = 3T( n 2 ) + n2 − n = 3 3T n 4 + n 2 2 − n 2 + n2 − n = 9T n 4 + 3 n2 4 − n 2 + n2 − n = 27T n 8 + 9 n2 16 − n 4 + 3 n2 4 − n 2 + n2 − n ... = 3i T n 2i + n2 i−1 j=0 ( 3 4 )j + n i−1 j=0 ( 3 2 )j = 3i T n 2i − 4n2 3 4 i + 4n2 − 2n 2 3 i + 2n por n i=0 ai = an+1 − 1 a − 1 ... = 3log n T n 2log n − 4n2 3 4 log n + 4n2 − 2n 2 3 log n + 2n = nlog 3 T(1) − 4nlog 3 + 4n2 − 2nlog 3 + 2n = 4n2 − 5nlog 3 + 2n = O(n2 ) Carlos Contreras Bolton 3
  • 4. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 4: Resolver Usando el m´etodo de la sustituci´on: T(n) = 2T n 2 + bn log n Adivinamos que O(n log n). Probar T(n) ≤ cn log n por inducci´on. T(n) = 2T( n 2 ) + bn log n = 2 c n 2 log n 2 + bn log n = cn(log n − log 2) + bn log n = cn log n − cn + bn log n = cn log n − (cn − bn log n) No se cumple, puesto que no podemos hacer que esta ´ultima l´ınea sea menor que cn log n Entonces, adivinamos que O(n log2 n). Probar T(n) ≤ cn log2 n por inducci´on. T(n) = 2T( n 2 ) + bn log n = 2 c n 2 log2 n 2 + bn log n = cn(log n − log 2)2 + bn log n = cn log2 n − 2cn log n + cn + bn log n = cn log2 n − (2cn log n − cn − bn log n) Si c > b. Por lo tanto, T(n) = n log2 n. Carlos Contreras Bolton 4
  • 5. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 5: Resolver T(n) = 1 n n−1 i=0 T(i) + cn, con T(0)=0. T(n) = 1 n n−1 i=0 T(i) + cn (1) Multiplicar por n en (1): nT(n) = n−1 i=0 T(i) + cn2 (2) Desplazando (2) en n − 1: (n − 1)T(n − 1) = n−2 i=0 T(i) + c(n − 1)2 (3) Restando (2)-(3): nT(n) − (n − 1)T(n − 1) = ( n−1 i=0 T(i) − n−2 i=0 T(i)) + (cn2 − c(n − 1)2 ) (4) nT(n)−(n−1)T(n−1) = ((T(0)+...+T(n−2)+T(n−1))−(T(0)+...+T(n−2)))+(cn2 −c(n2 −2n+1)) (5) nT(n) − (n − 1)T(n − 1) = T(n − 1) + 2cn − c (6) nT(n) = nT(n − 1) + 2cn − c (7) Dividiendo (7) por n: T(n) = T(n − 1) + 2cn − c n (8) Expandiendo: T(n) = 2cn − c n + T(n − 1) = 2cn − c n + 2c(n − 1) − c n − 1 + T(n − 2) = 2cn − c n + 2c(n − 1) − c n − 1 + 2c(n − 2) − c n − 2 + T(n − 3) = 2cn − c n + 2c(n − 1) − c n − 1 + 2c(n − 2) − c n − 2 + ... + 2c(1) − c 1 + T(0) = 2cn n + 2c(n − 1) n − 1 + 2c(n − 2) n − 2 + ... + 2c(1) 1 − c n + c n − 1 + c n − 2 + ... + c 1 = (2c + 2c + 2c + ... + 2c) − c n i=1 1 i = 2cn − c n i=1 1 i = 2cn − cHn < 2cn Por lo tanto, T(n) = O(n). Carlos Contreras Bolton 5
  • 6. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 6: Resolver T(n) = n − 1 + 2 n n−1 i=1 T(i), n ≥ 2. T(1) = 0 (1) Re-escribir la recurrencia para n + 1: T(n + 1) = (n + 1) − 1 + 2 n + 1 n i=1 T(i) (2) Multiplicar (1) por n y (2) por n + 1: nT(n) = n(n − 1) + 2 n−1 i=1 T(i) (3) (n + 1)T(n + 1) = (n + 1)n + 2 n i=1 T(i) (4) Restar (4)-(3): (n + 1)T(n + 1) − nT(n) = (n + 1)n − n(n − 1) + 2( n i=1 T(i) − n−1 i=1 T(i)) (5) (n+1)T(n+1)−nT(n) = 2n+2((T(0)+T(1)+...+T(n−1)+T(n))−(T(0)+T(1)+...+T(n−1))) (6) (n + 1)T(n + 1) − nT(n) = 2n + 2T(n) (7) T(n + 1) = n + 2 n + 1 T(n) + 2n n + 1 (n ≥ 2) (8) Podemos simplificar 2n/(n + 1) como cota inferior 2. T(n + 1) ≤ n + 2 n + 1 T(n) + 2 (9) T(n) ≤ n + 1 n T(n − 1) + 2 (10) Expandiendo (10): T(n) ≤ 2 + n + 1 n T(n − 1) = 2 + n + 1 n 2 + n n − 1 T(n − 2) = 2 + n + 1 n 2 + n n − 1 2 + n − 1 n − 2 T(n − 3) = 2 + n + 1 n 2 + n n − 1 2 + n − 1 n − 2 2 + n − 2 n − 3 T(n − 4) ¿Hasta d´onde llega la expansi´on? hasta llegar a T(3) ≤ 4 3 T(2)+2 = 2+ 4 3 (3 2 T(1)+2), como T(1) = 0, entonces T(3) ≤ 2 + 4 3 (2) (este es el motivo del 4/3 visto en el ejercicio en clases). Continuando con la expansi´on: Carlos Contreras Bolton 6
  • 7. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis T(n) ≤ 2 + n + 1 n 2 + n n − 1 2 + n − 1 n − 2 2 + n − 2 n − 3 ..,2 + 4 3 (2) = 2 1 + n + 1 n + n + 1 n n n − 1 + n + 1 n n n − 1 n − 1 n − 2 + ... + n + 1 n n n − 1 n − 1 n − 2 ... 4 3 = 2 1 + n + 1 n + n + 1 n − 1 + n + 1 n − 2 + ... + n + 1 3 = 2(n + 1) 1 n + 1 + 1 n + 1 n − 1 + ... + 1 3 = 2(n + 1) 1 n + 1 + 1 n + 1 n − 1 + ... + 1 3 + 1 2 + 1 − 1 2 + 1 = 2(n + 1)(H(n + 1) − 1, 5) Recuerden que H(n) = 1+1/2+1/3+...+1/n es la serie harm´onica, la cual tiene una aproximaci´on a H(n) = ln n + γ + O(1/n), donde γ = 0, 577.. es la constante de Euler. Entonces la soluci´on a T(n) es: T(n) ≤ 2(n + 1)(ln n + γ − 1, 5) + O(1) = O(n log n) Carlos Contreras Bolton 7
  • 8. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 7: Resolver T(n) = a if n = 1; 2T(n/4) + log n if n > 1. T(n) = 2T n 4 + log n = 2 2T n 42 + log n 4 + log n = 22 T n 42 + 2 log n 4 + log n = 2 2 2T n 43 + log n 42 + log n 4 + log n = 23 T n 43 + 22 log n 42 + 2 log n 4 + log n = ... = 2i T n 4i + i−1 k=0 log n 4k = 2i T n 4i + log n i−1 k=0 2k − i−1 k=0 2k log 4k Considerando n como potencia de 4 y todos los logaritmos en base 4 (la base no importa tanto, lo importante es que es logaritmo) tenemos: T(n) = 2i T n 4i + log4 n i−1 k=0 2k − i−1 k=0 2k log4 4k = ... = 2i T (1) + log4 n i−1 k=0 2k − i−1 k=0 2k k = a2i + log4 n(2i − 1) − (i − 2)2i − 2 Considerando que n es potencia de 4, entonces n = 4i e i = log4 n. Tambi´en podemos obtener que√ n = 2i . T(n) = a2i + log4 n(2i − 1) − (i − 2)2i − 2 = a √ n + log4 n( √ n − 1) − (log4 n − 2) √ n − 2 = (a + 2) √ n − log4 n − 2 Por lo tanto T(n) = Θ( √ n). Carlos Contreras Bolton 8
  • 9. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis Ejercicio 8: Resolver T(n) = 1 n = 1 n−1 i=1 T(i) + n2 n ≥ 2 Si restamos T(n − 1) a T(n) tenemos: T(n) − T(n − 1) = n−1 i=1 T(i) + n2 − n−2 i=1 T(i) + (n − 1)2 = n−2 i=1 T(i) + T(n − 1) + n2 − n−2 i=1 T(i) + n2 − 2n + 1 = T(n − 1) + 2n − 1 Si despejamos tenemos: T(n) = 2T(n − 1) + 2n − 1 Expandiendo la recurrencia: T(n) = 2T(n − 1) + 2n − 1 = 2(2T(n − 2) + 2(n − 1) − 1) + 2n − 1 = 22 T(n − 2) + 22 (n − 1) − 2 + 2n − 1 = 22 (2T(n − 3) + 2(n − 2) − 1) + 22 (n − 1) − 2 + 2n − 1 = 23 T(n − 3) + 23 (n − 2) − 22 + 22 (n − 1) − 2 + 2n − 1 = 23 T(n − 3) + (23 (n − 2) + 22 (n − 1) + 2n) − (22 + 2 + 1) = 23 T(n − 3) + (23 (n − 2) + 22 (n − 1) + 21 (n − 0)) − (22 + 21 + 20 ) ... = 2i T(n − i) + i−1 j=0 2j+1 (n − j) − i−1 j=0 2j = 2i T(n − i) + n i−1 j=0 2j+1 − i−1 j=0 j2j+1 − i−1 j=0 2j = 2i T(n − i) + 2n i−1 j=0 2j − 2 i−1 j=0 j2j − i−1 j=0 2j ... = 2i T(n − i) + (2n − 1) i−1 j=0 2j − 2 i−1 j=0 j2j Al caso base se llega cuando n − i = 1, entonces i = n − 1: T(n) = 2n−1 T(1) + (2n − 1) n−2 j=0 2j − 2 n−2 j=0 j2j Considerando que: Carlos Contreras Bolton 9
  • 10. Dise˜no de Algoritmos Ejercicios Resueltos - An´alisis n−2 j=0 2j = 2n−1 − 1 n−2 j=0 j2j = (n − 3)2n−1 + 2 Reemplazando en la recurrencia: T(n) = 2n−1 + (2n − 1)(2n−1 − 1) − 2((n − 3)2n−1 + 2) = (1 + 2n − 1 − 2n + 6)2n−1 − 2n + 1 − 4 = 6 · 2n−1 − 2n − 3 = 3 · 2n − 2n − 3 ∈ Θ(2n ) Carlos Contreras Bolton 10