Вы находитесь на странице: 1из 4

TALLER 3.

ANÁLISIS DE ALGORITMOS RECURSIVOS MÚLTIPLES


25 de febrero de 2018

Código: Nombre:

Ejercicio
1. Hallar la solución de la relación de recurrencia lineal homogénea de orden 3 (ver Tabla 1. Asignación de
relaciones de recurrencia), es decir, halle una expresión cerrada que no debe contener operaciones,
recurrencias y sumatorias pendientes de resolver.
2. Escribir y ejecutar un programa recursivo que implemente la relación de recurrencia lineal homogénea de
orden 3, que acepte entradas desde n = 0, 1, 2, …, 50. Grabar en un archivo con extensión .txt los valores
de n y su correspondiente tiempo de CPU.
3. Graficar los resultados de la ejecución.

Nota: Se desarrollaron tres ejemplos que ilustran como es la solución del taller

Evaluación
El taller tiene un valor de 5 puntos, distribuidos así:
[3.5 puntos] Solución de la relación de recurrencia.
[1 puntos] Programa recursivo
[0.5 puntos] Graficación de los resultados

Relaciones de recurrencia
RELACIÓN DE RECURRENCIA LINEAL HOMOGÉNEA DE
ESTUDIANTE ORDEN 3
624854 ANDRES GEOVANNI CORREDOR REYES T(n) = 2T(n – 1) + 2T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625574 MIGUEL ANGEL BARAJAS RAMIREZ T(n) = 2T(n – 1) + 2T(n – 2) + 3T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625642 SERGIO ANTONIO CARRILLO LUGO T(n) = 2T(n – 1) + 2T(n – 2) + 4T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625709 JIM BENEDITH MARTINEZ FLOREZ T(n) = 2T(n – 1) + 2T(n – 2) + 5T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625715 MANUEL ANDRES RAMIREZ DELGADO. T(n) = 2T(n – 1) + 2T(n – 2) + 6T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625716 LAURA DANIELA RAMIREZ ALDANA T(n) = 2T(n – 1) + 2T(n – 2) + 7T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625719 JORGE ARMANDO CARPINTERO SUAREZ T(n) = 2T(n – 1) + 2T(n – 2) + 8T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625726 ANDRES MAURICIO GIL CARDENAS T(n) = 2T(n – 1) + 2T(n – 2) + 9T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625739 DAVID ANDRES ARBELAEZ QUINTERO T(n) = 2T(n – 1) + 3T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625741 OSCAR MAURICIO MURILLO VASQUEZ T(n) = 2T(n – 1) + 4T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625752 LEIDY MILENA MOLANO DIAZ T(n) = 2T(n – 1) + 5T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625756 EDWARD ALEXANDER FRANCIA GUZMAN T(n) = 2T(n – 1) + 6T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625761 KAROLAYN ANDREA POSADA CASADIEGO T(n) = 2T(n – 1) + 7T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625762 CARLOS ANDRES GARNICA SALAZAR T(n) = 2T(n – 1) + 8T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625763 DAVOR JULIAN MORENO BERNAL T(n) = 2T(n – 1) + 9T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625771 JULIAN ANDRES GARNICA ALVAREZ T(n) = 3T(n – 1) + 2T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
625773 ANDRES FELIPE GOMEZ ALFARO T(n) = 4T(n – 1) + 2T(n – 2) + 2T(n – 3); T(0) = 1; T(1) = 2; T(2) = 3
Tabla 1. Asignación de relaciones de recurrencia
Ejemplo 1. En matemática, la sucesión de Fibonacci es la siguiente sucesión infinita de números naturales: 0,
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …. La sucesión comienza con los números 0 y 1, y a partir de estos, «cada
término es la suma de los dos anteriores», es la relación de recurrencia que la define. A los elementos de esta
sucesión se les llama números de Fibonacci. Diseñar un algoritmo recursivo que halle los números de
Fibonacci de un natural n definidos por la siguiente función recursiva:

f (n) = f (n – 1) + f (n – 2), f (0) = 0, f (1) = 1

Solución:

Algoritmo recursivo

function f ( n )

if n = 0 return 0
if n = 1 return 1
return f (n – 1) + f ( n – 2)


Solución de la recurrencia lineal homogénea de orden 2

T (n) = T (n – 1) + T (n – 2)

La ecuación característica es: r2 – r – 1 = 0


1 5 1 5
Las raíces son: r1 = ; r2 =
2 2
n n
   
La solución general es: T n   c1  1  5   c2  1  5 
 
2   2
   
n n
La solución particular es: T n   1  1  5   1  1  5 
5  2  5  2 

Tiempo CPU
60000000

50000000
milisengundos

40000000

30000000
Tiempo CPU
20000000

10000000

0
1 4 7 1013161922252831343740434649
Ejemplo 2. Los números de Lucas están dados por

l (0) = 2
l (1) = 1.
l (n) = l (n – 1) + l (n – 2) para n = 2, 3, 4, 5, …

Diseñar un algoritmo recursivo que halle los números de Lucas para un natural n.

Solución:
Algoritmo recursivo

function l ( n )

if n = 0 return 2
if n = 1 return 1
return l (n – 1) + l (n – 2)


Solución de la recurrencia lineal homogénea de orden 2

T (n) = T (n – 1) + T (n – 2)

La ecuación característica es: r2 – r – 1 = 0


1 5 1 5
Las raíces son: r1 = ; r2 =
2 2
n n
   
La solución general es: T n   c1  1  5   c2  1  5 
  
2  2
   

n n
1 5  1 1 5 
La solución particular es: T n       
 2   2 
  5  

Tiempo CPU
60000000
50000000
milisengundos

40000000
30000000
Tiempo CPU
20000000
10000000
0
1 6 1116212631364146

Ejemplo 3. Sea la sucesión infinita de números naturales definida por la siguiente recurrencia

h (n) = 5h (n – 1) – 8h (n – 2) + 4h (n – 3), h (0) = 0, h (1) = 1 y h (2) = 2.

Diseñar un algoritmo recursivo que halle los números de h (n) de un natural n.


Algoritmo recursivo

function h ( n )

if n = 0 return 0
if n = 1 return 1
if n = 2 return 2
return 5h (n – 1) – 8h (n – 2) + 4h (n – 3)


Solución de la relación de recurrencia lineal homogénea de orden 3

T (n) = 5T (n – 1) – 8T (n – 2) + 4T (n – 3)

La relación de recurrencia es: T (n) – 5T (n – 1) + 8T (n – 2) – 4T (n – 3) = 0


La ecuación característica es: r3 – 5r2 + 8r – 4 = (r – 1)(r – 2)2 = 0
La solución general es: T (n) = c11n + c22n + c3n2n
La solución particular es: T (n) = 2n +1 – n2n – 1 – 2

Tiempo CPU
60000000

50000000
milisengundos

40000000

30000000
Tiempo CPU
20000000

10000000

0
1 4 7 1013161922252831343740434649

Вам также может понравиться