SlideShare una empresa de Scribd logo
1 de 13
Análisis de
 Algoritmos




                   Pablo Vargas Boccanedes

 Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
TAREA 2




  Guayaquil, Julio de 2009




Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Introducción



     En esta sección analizaremos algoritmos de ordenamiento y
búsqueda, determinísticos y aleatorios, para lo cual calcularemos sus
tiempos de ejecución en función del tamaño de las instancias.



      Entre los objetivos tenemos como más importante la
interpretación de los resultados y la comprensión de una mejor
manera los mismos, conocer el funcionamiento del Teorema
Maestro para la obtención de los tiempos de ejecución.



      Otro de los objetivos importantes es presentar los métodos que
nos ayudarán a elegir entre algoritmos de diferente implementación
en función de nuestro medio, mediante el análisis de los tiempos de
ejecución y utilización de memoria que son principalmente los
limitantes en los ordenadores y equipos donde correrán dichos
algoritmos.




         Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Teoría
      Para la resolución de los problemas propuestos utilizaremos los
métodos Algebraico, Iterativo y del Teorema Maestro que consiste
sencillamente en aplicar las fórmulas para los casos en que sean
aplicables.


      Los tiempos de ejecución serán expresados con Notaciones
Asintóticas, con lo cual tendremos referencias de la función del
tiempo de ejecución con otra conocida y ésta estará dada por su
comportamiento asintótico. Además de esta forma podemos
generalizar el tiempo de ejecución que ahora tendrá el mismo
comportamiento sobre cualquier sistema de cómputo en función de
las instancias.


      El Teorema Maestro es aplicable a las funciones del tipo,


                                        t(n)=at( ) + f(n)


                   є>0 f(n)    єӨ(                    )        t(n) є Ө(                )

                     f(n) є Ω(                 )       t(n) є Ө(f(n)               )

  є>0 f(n)   єΩ(                   ) ^ n0 n≥ n0 c af( )≤cf(n)                          t(n) є Ө(f(n))



             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
EJERCICIOS
Problema 1.- Discuta cualitativamente la diferencia entre el tiempo promedio de ejecución
de un algoritmo determinístico (tal como quicksort) y el tiempo esperado de un algoritmo
aleatorio (tal como quicksort aleatorio).




Solución:
       Quicksort toma el primer elemento del conjunto, mientras que Quicksort Aleatorio
toma un pivote aleatorio dando la opción de tomar el del centro como pivote, esto ayudará a
un ordenamiento más rápido. Además sus tiempos de ejecución en promedio son, quicksort
Ө(nlgn), mientras que quicksort aleatorio se comporta como O(nlgn) lo que nos da
implícitamente la respuesta. Quicksort Aleatorio es más rápido que Quicksort.




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 2.- La ecuación de recurrencia t(n) = 7 t(n/2) + n2 describe el tiempo de
ejecución de un algoritmo A. Otro algoritmo A’ que resuelve el mismo problema tiene en
cambio la ecuación t(n) = at(n/4) + n2. ¿Cuál es el valor entero mayor que a puede tomar
para que el tiempo de ejecución de A’ sea asintóticamente más rápido que el de A?


Solución:


       Utilizando el Teorema Maestro en ambas partes,
       t(n)=7t(   + n2       de aquí tenemos que a=7, b=2 y f(n)=n2

       Propuesta, є>0 n2          O(              )
              D! є=3 n2 O(                    )
                           n2 O(        ) como sabemos, esta expresión es verdadera.
              t(n) Ө(             )


       Para la segunda parte,


       t(n) = at(n/4) + n2

       Propuesta, є>0 n2          O(              )
       Supongamos que esta expresión es verdadera. t(n)               Ө(


       Lo que plantea el ejercicio es lo siguiente                   O(         ) entonces,
        c,n0 n≥ n0            ≤
                              ≤
                              ≤
                         lg7 ≤

                         lg7 ≤ lg


                         7≤            a≥72


             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 3.- Resuelva las siguientes ecuaciones de recurrencia utilizando el teorema
maestro. Justifique con claridad el uso de los varios casos.
       t(n) = 9 t(n/3) + n2 + n/2 + 1
       t(n) 5 t(n/2) + n2
       t(n) = 12 T(n/4) + n2


Solución:
  t(n) = 9 t(n/3) + n2 + n/2 + 1
  a=9 b=3
  f(n)= n2 + n/2 + 1


  n2 + n/2 + 1   Ө(          )
  n2 + n/2 + 1   Ө (n2)
Aunque ya sabemos que esto es verdadero, lo vamos a demostrar:
  c1,c2,n0 n≥ n0 c1 n2 ≤ n2 + n/2 + 1 ≤c2 n2
de aquí sabemos que esta expresión es válida con: c1=1; c2=2 ; n0=2


Por lo tanto el tiempo de ejecución t(n)        Ө ((n2 + n/2 + 1)lgn)
                                        t(n)     Ө (n2lgn)



  t(n) 5 t(n/2) + n2
  a=5 b=2
  f(n)= n2
  n2   Ө (nlg5-є) si є=1
  n2   Ө (n2) Sabemos que esto es verdadero y no lo vamos a demostrar.


Entonces el tiempo de ejecución en función de las instancias es t(n)               Ө (nlg5)




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
t(n) = 12 t(n/4) + n2
  a=12 b=4
  f(n)= n2


  n2 Ω(             ) si
  n2 Ω(n2) Sabemos que es verdadero por ser la misma función.


  Ahora tenemos que comprobar la otra parte del teorema:
   n0 n≥ n0 c 12           ≤c n2

   n2≤c n2

   ≤c c=1


Dado que se cumplen ambas condiciones, podemos asegurar que t(n)                     Ө (n2)




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 4.- El tiempo de ejecución de la operación PARTICION sobre una secuencia de
tamaño n es teta(n); justifique esta afirmación.


Solución:


      Si la partición ocurre desde el elemento de la segunda posición, de uno en uno,
tendremos (n-1) particiones y la operación partición se ejecuta en un tiempo, tenemos la
ecuación,




            t(n)=1+ t(n-1)                                              n
            t(n)=1+1+t(n-2)
            ………………                                               1             n-1
            t(n)=1(n-1 veces)
            t(n)= n-1                                                   1                n-2


            t(n)    Ө(n)                                                       ..                ..
                                                                                     .                ..
     D!      c1,c2,n0 n≥ n0 c1n≤n-1≤c2n                                                  1                 1

            c1=    c2=1 n0=2 d!




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 7.- Los bancos registran las transacciones de una cuenta según el tiempo en que
estas ocurrieron, pero a la mayoría de las personas les gusta recibir sus estados de cuenta
con las transacciones listadas según el numero de cheque. Las personas normalmente giran
sus cheques en orden según el número de cheque, mientras que los beneficiarios los cobran
sin ningún orden particular. El problema de convertir de uno a otro ordenamiento es un
problema de ordenar una entrada que ya está casi ordenada. Se dice que el tiempo necesario
para realizar esta conversión por inserción es mejor que el obtenido por quicksort. ¿Qué
piensa usted? Discuta su respuesta.


Solución:


         Dado que el número de cheques cobrados es menor o igual que el número de
cheques girados, y como los cheques girados están en orden, representarán más de la mitad
de la lista o registro del banco, por lo que el problema se reducirá a ordenar la mitad o
menos de elementos del registro equivalentes a los cheques cobrados.


Este algoritmo es más rápido que quicksort en este caso, porque la lista está casi ordenada y
las operaciones de intercambio que habrá que hacer son con los cheques cobrados. Si
hacemos con el algoritmo quicksort, este buscará un pivote y analizará por partes, aunque el
arreglo está casi ordenado, se harán las mismas comparaciones pero con más operaciones
de intercambio.




             Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
Problema 8.- Demuestre que el tiempo esperado para el algoritmo quicksort aleatorio es
Ω(n lg n).


Solución:
        Dado que el algoritmo es aleatorio, el tiempo de ejecución estará dado por la suma
de los casos por donde ocurra la partición. Cada caso tiene tu propio tiempo de ejecución
dependiendo del lugar por el cual ocurre la partición.


t(n)=
                                                                     Caso (rango)    Caso (partición)
t(n)= (tp(n) +                                                         1                        0
            2
t(n)= (Ө(n ) +                  +t(n-k)+…+1)
                                                                       2                        1
t(n)= (Ө(n2) + 2
                                                                       3                        2

 t(k) O(klgk)
                                                                       ...                     ...


t(n)≤ (Ө(n2) + 2
                                                                       n                      n-1



            ≤lg1+2lg2+..+(n-1)lg(n-1)
            ≤ (n-1)nlg(n-1)


t(n)≤ (Ө(n2) + 2
t(n) ≤ Ө(n) +(n-1)lg(n-1)
para grandes valores de n:
t(n) ≤ Ө(n) +(n)lg(n)


t(n) O(nlgn)




                Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
EJERCICIOS PROPUESTOS

Problema 9.- El algoritmo o método de Strassen se utiliza para multiplicar dos matrices
cuadradas de nxn en tiempos teta(nlg7); lo que representa una mejora considerable con
respecto al método que se usa tradicionalmente y que requiere tiempos teta(n3).
(Brevemente, el método consiste en dividir las matrices de nxn en matrices de (n/2)x(n/2),
calcular 7 matrices auxiliares y a partir de ellas encontrar las submatrices de la matriz
resultante) En este ejercicio haga lo siguiente:
    a) Describa en qué consiste el método de Strassen. Ilustre el método con un ejemplo.
    b) Explique por qué se dice que este es un algoritmo diseñado por división y conquista.
    c) Demuestre que el método de Strassen es correcto
    d) Encuentre la ecuación de recurrencia para calcular el tiempo de ejecución del
        algoritmo.
    e) Resuelva la ecuación obtenida en c).
Compare este resultado con el obtenido por el método convencional.


Problema 10.- Se quiere multiplicar dos numeros enteros muy grandes, cuyas representaciones requieren, por
ejemplo, 512 bits; el sistema de computo que tenemos esta limitado en cuanto a que la representacion y las
operaciones con numeros enteros deben hacerse con palabras de 64 bits. Diseñe por division y conquista un
metodo o algoritmo que permita realizar la multiplicacion de enteros de 512 bits en terminos de
multiplicaciones de palabras de 64 bits. Suponga que el tiempo para realizar sumas y desplazamientos de
palabras de 64 bits es teta(1). Siga los mismos pasos que en el ejercicio anterior.


Problema 11.- Se tienen un naipe de n cartas y se le pide a un voluntario que escoja una de las n cartas, cuya
identidad se mantendrá en secreto. Diseñe un metodo -similar al visto en clase- para encontrar dicha carta
“secreta” en tiempos teta(lg n). Considere que el tiempo para que el voluntario señale en que pila se
encuentra la carta es teta(1).

Problema 12.- En la industria de la construccion de semiconductores VLSI (very large scale integration) se
requiere probar millones de chips para detectar cuales estan defectuosos. La idea basica del metodo consiste
en hacer que los chips se prueben unos a otros; para ello se construye un dispositivo que reporta el estado del
par de chips instalado. Los chips buenos siempre dicen la verdad, es decir, reportan con exactitud si el chip
bajo prueba es bueno o malo; los chips malos no son confiables, es decir, dicen cualquier cosa sobre el otro.

Diseñe un metodo para identificar todos los chips buenos. El problema debe resolverse en tiempos O(n).
Suponga que el numero de chips buenos es mayor que el de chips malos, y que para efectos de calcular el
tiempo por cada chip que se prueba se cuenta 1.

Note que basta encontrar un chip que sea bueno para encontrar todos los demas que sean buenos en tiempos
lineales; asi que hay que encontrar un chip que sea bueno en tiempos O(n).




                Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
CONCLUSIÓN

En esta tarea hemos revisado principalmente el método iterativo y el
Teorema Maestro para calcular nuestros tiempos de ejecución.
Destacamos la utilización de las definiciones de las notaciones
asintóticas para obtener resultados.


El nivel de dificultad de los ejercicios es mayor para esta tarea con
respecto a la anterior. El ejercicio más complicado al resolver fue el
numero 8 y se complica por el tema de las sumatorias y el árbol
recursivo.


Los ejercicios que no fueron resueltos y que los propongo son del 8
al 12, éstos incluirán un análisis mayor al cálculo de los tiempos de
ejecucíon.




          Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.

Más contenido relacionado

La actualidad más candente

1.1.4 ejerciciosdesimplificaciondebloques
1.1.4 ejerciciosdesimplificaciondebloques1.1.4 ejerciciosdesimplificaciondebloques
1.1.4 ejerciciosdesimplificaciondebloquesfrh539
 
Las propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-paraLas propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-paraKhriszthianxD
 
Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...
Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...
Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...Eliceo Quintana
 
Análisis numérico richard burden 7ma edición
Análisis numérico richard burden 7ma ediciónAnálisis numérico richard burden 7ma edición
Análisis numérico richard burden 7ma ediciónKyllie Rajim
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historialyonc357
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionOmar Sanchez
 
Ejemplo de semáforo
Ejemplo de  semáforoEjemplo de  semáforo
Ejemplo de semáforolauracruzpal
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Julio Daniel Ruano
 
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdfEcuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdfSANTIAGO PABLO ALBERTO
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Ecuaciones diferenciales demostracion laplace cos(t)
Ecuaciones diferenciales demostracion laplace cos(t)Ecuaciones diferenciales demostracion laplace cos(t)
Ecuaciones diferenciales demostracion laplace cos(t)Velmuz Buzz
 
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...ffloresluna
 
Importancia de la programaciã³n en la electronica
Importancia de la programaciã³n en la electronica Importancia de la programaciã³n en la electronica
Importancia de la programaciã³n en la electronica Ysidro Jose Araujo Viloria
 
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.Angel Perez
 
Sistemas de control - teoría de control
Sistemas de control - teoría de controlSistemas de control - teoría de control
Sistemas de control - teoría de controlPierinaPandolfi
 
Modelado y Estudio de un Sistema Dinámico de Primer Orden
Modelado y Estudio de un Sistema Dinámico de Primer OrdenModelado y Estudio de un Sistema Dinámico de Primer Orden
Modelado y Estudio de un Sistema Dinámico de Primer OrdenAngel Contreas
 

La actualidad más candente (20)

1.1.4 ejerciciosdesimplificaciondebloques
1.1.4 ejerciciosdesimplificaciondebloques1.1.4 ejerciciosdesimplificaciondebloques
1.1.4 ejerciciosdesimplificaciondebloques
 
Las propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-paraLas propiedades-de-euler-y-los-logaritmos-para
Las propiedades-de-euler-y-los-logaritmos-para
 
Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...
Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...
Analisis numerico-basico-un-enfoque-algoritmico-con-el-soporte-de-matlab-luis...
 
Análisis numérico richard burden 7ma edición
Análisis numérico richard burden 7ma ediciónAnálisis numérico richard burden 7ma edición
Análisis numérico richard burden 7ma edición
 
Los 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historiaLos 20 algoritmos matematicos mas importantes de la historia
Los 20 algoritmos matematicos mas importantes de la historia
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po Realimentacion
 
Ejemplo de semáforo
Ejemplo de  semáforoEjemplo de  semáforo
Ejemplo de semáforo
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)
 
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdfEcuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
Ecuaciones diferenciales para ingeniera y ciencias Yunus A. Cengel.pdf
 
Conversión NAND y NOR
Conversión NAND y NORConversión NAND y NOR
Conversión NAND y NOR
 
Variables de estado
Variables de estadoVariables de estado
Variables de estado
 
Diagramas bloque
Diagramas bloqueDiagramas bloque
Diagramas bloque
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Ecuaciones diferenciales demostracion laplace cos(t)
Ecuaciones diferenciales demostracion laplace cos(t)Ecuaciones diferenciales demostracion laplace cos(t)
Ecuaciones diferenciales demostracion laplace cos(t)
 
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
Diseño de un contador sincrónico con flip-Flop JK, haciendo uso de mapas de k...
 
Importancia de la programaciã³n en la electronica
Importancia de la programaciã³n en la electronica Importancia de la programaciã³n en la electronica
Importancia de la programaciã³n en la electronica
 
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
Tabla de Dualidad Transformada Z, Transformada de LaPlace y Discreta.
 
Sistemas de control - teoría de control
Sistemas de control - teoría de controlSistemas de control - teoría de control
Sistemas de control - teoría de control
 
Modelado y Estudio de un Sistema Dinámico de Primer Orden
Modelado y Estudio de un Sistema Dinámico de Primer OrdenModelado y Estudio de un Sistema Dinámico de Primer Orden
Modelado y Estudio de un Sistema Dinámico de Primer Orden
 

Destacado

Organizacion_Computadores4
Organizacion_Computadores4Organizacion_Computadores4
Organizacion_Computadores4Velmuz Buzz
 
Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)Velmuz Buzz
 
Analisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrenciaAnalisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrenciaVelmuz Buzz
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repasoVelmuz Buzz
 
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blancoDiapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blancoVelmuz Buzz
 
Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)Velmuz Buzz
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo hVelmuz Buzz
 
Examen final ii termino 2007
Examen final ii termino 2007Examen final ii termino 2007
Examen final ii termino 2007Velmuz Buzz
 
Interfaz_Grafica_POO
Interfaz_Grafica_POOInterfaz_Grafica_POO
Interfaz_Grafica_POOVelmuz Buzz
 
Analisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestroAnalisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestroVelmuz Buzz
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodosVelmuz Buzz
 
Organizacion_Computadores6
Organizacion_Computadores6Organizacion_Computadores6
Organizacion_Computadores6Velmuz Buzz
 
Conceptos Básicos de la Computadora
Conceptos Básicos de la ComputadoraConceptos Básicos de la Computadora
Conceptos Básicos de la ComputadoraVelmuz Buzz
 
Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)Velmuz Buzz
 
Resolucion fisica c_final2006ti
Resolucion fisica c_final2006tiResolucion fisica c_final2006ti
Resolucion fisica c_final2006tiVelmuz Buzz
 
Ecuaciones diferenciales leccion1
Ecuaciones diferenciales   leccion1Ecuaciones diferenciales   leccion1
Ecuaciones diferenciales leccion1Velmuz Buzz
 
Analisis_Algoritmo_Quicksort
Analisis_Algoritmo_QuicksortAnalisis_Algoritmo_Quicksort
Analisis_Algoritmo_QuicksortVelmuz Buzz
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolaresVelmuz Buzz
 

Destacado (20)

Organizacion_Computadores4
Organizacion_Computadores4Organizacion_Computadores4
Organizacion_Computadores4
 
Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)Analisis de Redes Electricas I (8)
Analisis de Redes Electricas I (8)
 
Analisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrenciaAnalisis_Algoritmo_Ecuacion de recurrencia
Analisis_Algoritmo_Ecuacion de recurrencia
 
Electronica introduccion y repaso
Electronica introduccion y repasoElectronica introduccion y repaso
Electronica introduccion y repaso
 
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blancoDiapositivas redes i__unidad__3_primera_parte_fondo_blanco
Diapositivas redes i__unidad__3_primera_parte_fondo_blanco
 
Sd5
Sd5Sd5
Sd5
 
Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)Laboratorio_de_Redes_Electricas(1)
Laboratorio_de_Redes_Electricas(1)
 
Electronica polarizacion tipo h
Electronica polarizacion tipo hElectronica polarizacion tipo h
Electronica polarizacion tipo h
 
Examen final ii termino 2007
Examen final ii termino 2007Examen final ii termino 2007
Examen final ii termino 2007
 
Javadoc
JavadocJavadoc
Javadoc
 
Interfaz_Grafica_POO
Interfaz_Grafica_POOInterfaz_Grafica_POO
Interfaz_Grafica_POO
 
Analisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestroAnalisis_Algoritmo_Teorema_maestro
Analisis_Algoritmo_Teorema_maestro
 
Electronica aplicaciones de diodos
Electronica aplicaciones de diodosElectronica aplicaciones de diodos
Electronica aplicaciones de diodos
 
Organizacion_Computadores6
Organizacion_Computadores6Organizacion_Computadores6
Organizacion_Computadores6
 
Conceptos Básicos de la Computadora
Conceptos Básicos de la ComputadoraConceptos Básicos de la Computadora
Conceptos Básicos de la Computadora
 
Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)Analisis de Redes Electricas I (5)
Analisis de Redes Electricas I (5)
 
Resolucion fisica c_final2006ti
Resolucion fisica c_final2006tiResolucion fisica c_final2006ti
Resolucion fisica c_final2006ti
 
Ecuaciones diferenciales leccion1
Ecuaciones diferenciales   leccion1Ecuaciones diferenciales   leccion1
Ecuaciones diferenciales leccion1
 
Analisis_Algoritmo_Quicksort
Analisis_Algoritmo_QuicksortAnalisis_Algoritmo_Quicksort
Analisis_Algoritmo_Quicksort
 
Electronica modelaje de transitores bipolares
Electronica  modelaje de transitores bipolaresElectronica  modelaje de transitores bipolares
Electronica modelaje de transitores bipolares
 

Similar a Analisis de algoritmos tarea 2

Similar a Analisis de algoritmos tarea 2 (20)

Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1Analisis de Algoritmos tarea 1
Analisis de Algoritmos tarea 1
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Analisis Clase2
Analisis  Clase2Analisis  Clase2
Analisis Clase2
 
2 eficiencia
2 eficiencia2 eficiencia
2 eficiencia
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Tema4
Tema4Tema4
Tema4
 
Mpinning Gyalg13(Recurr)
Mpinning Gyalg13(Recurr)Mpinning Gyalg13(Recurr)
Mpinning Gyalg13(Recurr)
 
Informe
InformeInforme
Informe
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Aclase0802
Aclase0802Aclase0802
Aclase0802
 
Recurrencias
RecurrenciasRecurrencias
Recurrencias
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert   lyada - ayudantia ordenamiento y teo maestroJflambert   lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia ordenamiento y teo maestro
 
Tarea ecuaciones diferenciales
Tarea ecuaciones diferencialesTarea ecuaciones diferenciales
Tarea ecuaciones diferenciales
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
Quadratic Sieve, algoritmos y ejemplos
Quadratic Sieve, algoritmos y ejemplosQuadratic Sieve, algoritmos y ejemplos
Quadratic Sieve, algoritmos y ejemplos
 
Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)Mpinning Gy Alg9(Conteo)
Mpinning Gy Alg9(Conteo)
 

Más de Velmuz Buzz

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenVelmuz Buzz
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de ProgramacionVelmuz Buzz
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de AplicacionVelmuz Buzz
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de TransporteVelmuz Buzz
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura OrganizacionalVelmuz Buzz
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema expertoVelmuz Buzz
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistoresVelmuz Buzz
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadoresVelmuz Buzz
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacionVelmuz Buzz
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferenciaVelmuz Buzz
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejerciciosVelmuz Buzz
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fetVelmuz Buzz
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fetVelmuz Buzz
 
Electronica transitores efecto de cambio
Electronica transitores efecto de cambioElectronica transitores efecto de cambio
Electronica transitores efecto de cambioVelmuz Buzz
 
Circuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiCircuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiVelmuz Buzz
 
Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Velmuz Buzz
 
Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Velmuz Buzz
 

Más de Velmuz Buzz (20)

Ecuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er OrdenEcuaciones Diferenciales de 1er Orden
Ecuaciones Diferenciales de 1er Orden
 
Ruby
Ruby Ruby
Ruby
 
Lenguajes de Programacion
Lenguajes de ProgramacionLenguajes de Programacion
Lenguajes de Programacion
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de Aplicacion
 
Capa de Transporte
Capa de TransporteCapa de Transporte
Capa de Transporte
 
Capa Red
Capa RedCapa Red
Capa Red
 
Capa Enlace
Capa Enlace Capa Enlace
Capa Enlace
 
Estructura Organizacional
Estructura OrganizacionalEstructura Organizacional
Estructura Organizacional
 
Inteligencia artificial sistema experto
Inteligencia artificial sistema expertoInteligencia artificial sistema experto
Inteligencia artificial sistema experto
 
Electronica transistores
Electronica transistoresElectronica transistores
Electronica transistores
 
Electronica rectificadores
Electronica rectificadoresElectronica rectificadores
Electronica rectificadores
 
Electronica polarizacion
Electronica polarizacionElectronica polarizacion
Electronica polarizacion
 
Electronica funcion de transferencia
Electronica funcion de transferenciaElectronica funcion de transferencia
Electronica funcion de transferencia
 
Electronica ejercicios
Electronica ejerciciosElectronica ejercicios
Electronica ejercicios
 
Electronica polarizacion del fet
Electronica  polarizacion del fetElectronica  polarizacion del fet
Electronica polarizacion del fet
 
Electronica analisis a pequeña señal fet
Electronica  analisis a pequeña señal fetElectronica  analisis a pequeña señal fet
Electronica analisis a pequeña señal fet
 
Electronica transitores efecto de cambio
Electronica transitores efecto de cambioElectronica transitores efecto de cambio
Electronica transitores efecto de cambio
 
Circuito secuencial sincronico sd ii
Circuito secuencial sincronico sd iiCircuito secuencial sincronico sd ii
Circuito secuencial sincronico sd ii
 
Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2Resolucion de conflictos bases datos 2
Resolucion de conflictos bases datos 2
 
Olap vs oltp bases datos 2
Olap vs oltp bases datos 2Olap vs oltp bases datos 2
Olap vs oltp bases datos 2
 

Analisis de algoritmos tarea 2

  • 1. Análisis de Algoritmos Pablo Vargas Boccanedes Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 2. TAREA 2 Guayaquil, Julio de 2009 Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 3. Introducción En esta sección analizaremos algoritmos de ordenamiento y búsqueda, determinísticos y aleatorios, para lo cual calcularemos sus tiempos de ejecución en función del tamaño de las instancias. Entre los objetivos tenemos como más importante la interpretación de los resultados y la comprensión de una mejor manera los mismos, conocer el funcionamiento del Teorema Maestro para la obtención de los tiempos de ejecución. Otro de los objetivos importantes es presentar los métodos que nos ayudarán a elegir entre algoritmos de diferente implementación en función de nuestro medio, mediante el análisis de los tiempos de ejecución y utilización de memoria que son principalmente los limitantes en los ordenadores y equipos donde correrán dichos algoritmos. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 4. Teoría Para la resolución de los problemas propuestos utilizaremos los métodos Algebraico, Iterativo y del Teorema Maestro que consiste sencillamente en aplicar las fórmulas para los casos en que sean aplicables. Los tiempos de ejecución serán expresados con Notaciones Asintóticas, con lo cual tendremos referencias de la función del tiempo de ejecución con otra conocida y ésta estará dada por su comportamiento asintótico. Además de esta forma podemos generalizar el tiempo de ejecución que ahora tendrá el mismo comportamiento sobre cualquier sistema de cómputo en función de las instancias. El Teorema Maestro es aplicable a las funciones del tipo, t(n)=at( ) + f(n) є>0 f(n) єӨ( ) t(n) є Ө( ) f(n) є Ω( ) t(n) є Ө(f(n) ) є>0 f(n) єΩ( ) ^ n0 n≥ n0 c af( )≤cf(n) t(n) є Ө(f(n)) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 5. EJERCICIOS Problema 1.- Discuta cualitativamente la diferencia entre el tiempo promedio de ejecución de un algoritmo determinístico (tal como quicksort) y el tiempo esperado de un algoritmo aleatorio (tal como quicksort aleatorio). Solución: Quicksort toma el primer elemento del conjunto, mientras que Quicksort Aleatorio toma un pivote aleatorio dando la opción de tomar el del centro como pivote, esto ayudará a un ordenamiento más rápido. Además sus tiempos de ejecución en promedio son, quicksort Ө(nlgn), mientras que quicksort aleatorio se comporta como O(nlgn) lo que nos da implícitamente la respuesta. Quicksort Aleatorio es más rápido que Quicksort. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 6. Problema 2.- La ecuación de recurrencia t(n) = 7 t(n/2) + n2 describe el tiempo de ejecución de un algoritmo A. Otro algoritmo A’ que resuelve el mismo problema tiene en cambio la ecuación t(n) = at(n/4) + n2. ¿Cuál es el valor entero mayor que a puede tomar para que el tiempo de ejecución de A’ sea asintóticamente más rápido que el de A? Solución: Utilizando el Teorema Maestro en ambas partes, t(n)=7t( + n2 de aquí tenemos que a=7, b=2 y f(n)=n2 Propuesta, є>0 n2 O( ) D! є=3 n2 O( ) n2 O( ) como sabemos, esta expresión es verdadera. t(n) Ө( ) Para la segunda parte, t(n) = at(n/4) + n2 Propuesta, є>0 n2 O( ) Supongamos que esta expresión es verdadera. t(n) Ө( Lo que plantea el ejercicio es lo siguiente O( ) entonces, c,n0 n≥ n0 ≤ ≤ ≤ lg7 ≤ lg7 ≤ lg 7≤ a≥72 Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 7. Problema 3.- Resuelva las siguientes ecuaciones de recurrencia utilizando el teorema maestro. Justifique con claridad el uso de los varios casos. t(n) = 9 t(n/3) + n2 + n/2 + 1 t(n) 5 t(n/2) + n2 t(n) = 12 T(n/4) + n2 Solución: t(n) = 9 t(n/3) + n2 + n/2 + 1 a=9 b=3 f(n)= n2 + n/2 + 1 n2 + n/2 + 1 Ө( ) n2 + n/2 + 1 Ө (n2) Aunque ya sabemos que esto es verdadero, lo vamos a demostrar: c1,c2,n0 n≥ n0 c1 n2 ≤ n2 + n/2 + 1 ≤c2 n2 de aquí sabemos que esta expresión es válida con: c1=1; c2=2 ; n0=2 Por lo tanto el tiempo de ejecución t(n) Ө ((n2 + n/2 + 1)lgn) t(n) Ө (n2lgn) t(n) 5 t(n/2) + n2 a=5 b=2 f(n)= n2 n2 Ө (nlg5-є) si є=1 n2 Ө (n2) Sabemos que esto es verdadero y no lo vamos a demostrar. Entonces el tiempo de ejecución en función de las instancias es t(n) Ө (nlg5) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 8. t(n) = 12 t(n/4) + n2 a=12 b=4 f(n)= n2 n2 Ω( ) si n2 Ω(n2) Sabemos que es verdadero por ser la misma función. Ahora tenemos que comprobar la otra parte del teorema: n0 n≥ n0 c 12 ≤c n2 n2≤c n2 ≤c c=1 Dado que se cumplen ambas condiciones, podemos asegurar que t(n) Ө (n2) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 9. Problema 4.- El tiempo de ejecución de la operación PARTICION sobre una secuencia de tamaño n es teta(n); justifique esta afirmación. Solución: Si la partición ocurre desde el elemento de la segunda posición, de uno en uno, tendremos (n-1) particiones y la operación partición se ejecuta en un tiempo, tenemos la ecuación, t(n)=1+ t(n-1) n t(n)=1+1+t(n-2) ……………… 1 n-1 t(n)=1(n-1 veces) t(n)= n-1 1 n-2 t(n) Ө(n) .. .. . .. D! c1,c2,n0 n≥ n0 c1n≤n-1≤c2n 1 1 c1= c2=1 n0=2 d! Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 10. Problema 7.- Los bancos registran las transacciones de una cuenta según el tiempo en que estas ocurrieron, pero a la mayoría de las personas les gusta recibir sus estados de cuenta con las transacciones listadas según el numero de cheque. Las personas normalmente giran sus cheques en orden según el número de cheque, mientras que los beneficiarios los cobran sin ningún orden particular. El problema de convertir de uno a otro ordenamiento es un problema de ordenar una entrada que ya está casi ordenada. Se dice que el tiempo necesario para realizar esta conversión por inserción es mejor que el obtenido por quicksort. ¿Qué piensa usted? Discuta su respuesta. Solución: Dado que el número de cheques cobrados es menor o igual que el número de cheques girados, y como los cheques girados están en orden, representarán más de la mitad de la lista o registro del banco, por lo que el problema se reducirá a ordenar la mitad o menos de elementos del registro equivalentes a los cheques cobrados. Este algoritmo es más rápido que quicksort en este caso, porque la lista está casi ordenada y las operaciones de intercambio que habrá que hacer son con los cheques cobrados. Si hacemos con el algoritmo quicksort, este buscará un pivote y analizará por partes, aunque el arreglo está casi ordenado, se harán las mismas comparaciones pero con más operaciones de intercambio. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 11. Problema 8.- Demuestre que el tiempo esperado para el algoritmo quicksort aleatorio es Ω(n lg n). Solución: Dado que el algoritmo es aleatorio, el tiempo de ejecución estará dado por la suma de los casos por donde ocurra la partición. Cada caso tiene tu propio tiempo de ejecución dependiendo del lugar por el cual ocurre la partición. t(n)= Caso (rango) Caso (partición) t(n)= (tp(n) + 1 0 2 t(n)= (Ө(n ) + +t(n-k)+…+1) 2 1 t(n)= (Ө(n2) + 2 3 2 t(k) O(klgk) ... ... t(n)≤ (Ө(n2) + 2 n n-1 ≤lg1+2lg2+..+(n-1)lg(n-1) ≤ (n-1)nlg(n-1) t(n)≤ (Ө(n2) + 2 t(n) ≤ Ө(n) +(n-1)lg(n-1) para grandes valores de n: t(n) ≤ Ө(n) +(n)lg(n) t(n) O(nlgn) Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 12. EJERCICIOS PROPUESTOS Problema 9.- El algoritmo o método de Strassen se utiliza para multiplicar dos matrices cuadradas de nxn en tiempos teta(nlg7); lo que representa una mejora considerable con respecto al método que se usa tradicionalmente y que requiere tiempos teta(n3). (Brevemente, el método consiste en dividir las matrices de nxn en matrices de (n/2)x(n/2), calcular 7 matrices auxiliares y a partir de ellas encontrar las submatrices de la matriz resultante) En este ejercicio haga lo siguiente: a) Describa en qué consiste el método de Strassen. Ilustre el método con un ejemplo. b) Explique por qué se dice que este es un algoritmo diseñado por división y conquista. c) Demuestre que el método de Strassen es correcto d) Encuentre la ecuación de recurrencia para calcular el tiempo de ejecución del algoritmo. e) Resuelva la ecuación obtenida en c). Compare este resultado con el obtenido por el método convencional. Problema 10.- Se quiere multiplicar dos numeros enteros muy grandes, cuyas representaciones requieren, por ejemplo, 512 bits; el sistema de computo que tenemos esta limitado en cuanto a que la representacion y las operaciones con numeros enteros deben hacerse con palabras de 64 bits. Diseñe por division y conquista un metodo o algoritmo que permita realizar la multiplicacion de enteros de 512 bits en terminos de multiplicaciones de palabras de 64 bits. Suponga que el tiempo para realizar sumas y desplazamientos de palabras de 64 bits es teta(1). Siga los mismos pasos que en el ejercicio anterior. Problema 11.- Se tienen un naipe de n cartas y se le pide a un voluntario que escoja una de las n cartas, cuya identidad se mantendrá en secreto. Diseñe un metodo -similar al visto en clase- para encontrar dicha carta “secreta” en tiempos teta(lg n). Considere que el tiempo para que el voluntario señale en que pila se encuentra la carta es teta(1). Problema 12.- En la industria de la construccion de semiconductores VLSI (very large scale integration) se requiere probar millones de chips para detectar cuales estan defectuosos. La idea basica del metodo consiste en hacer que los chips se prueben unos a otros; para ello se construye un dispositivo que reporta el estado del par de chips instalado. Los chips buenos siempre dicen la verdad, es decir, reportan con exactitud si el chip bajo prueba es bueno o malo; los chips malos no son confiables, es decir, dicen cualquier cosa sobre el otro. Diseñe un metodo para identificar todos los chips buenos. El problema debe resolverse en tiempos O(n). Suponga que el numero de chips buenos es mayor que el de chips malos, y que para efectos de calcular el tiempo por cada chip que se prueba se cuenta 1. Note que basta encontrar un chip que sea bueno para encontrar todos los demas que sean buenos en tiempos lineales; asi que hay que encontrar un chip que sea bueno en tiempos O(n). Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.
  • 13. CONCLUSIÓN En esta tarea hemos revisado principalmente el método iterativo y el Teorema Maestro para calcular nuestros tiempos de ejecución. Destacamos la utilización de las definiciones de las notaciones asintóticas para obtener resultados. El nivel de dificultad de los ejercicios es mayor para esta tarea con respecto a la anterior. El ejercicio más complicado al resolver fue el numero 8 y se complica por el tema de las sumatorias y el árbol recursivo. Los ejercicios que no fueron resueltos y que los propongo son del 8 al 12, éstos incluirán un análisis mayor al cálculo de los tiempos de ejecucíon. Análisis de Algoritmos. Término I 2009. Ing. Carlos Jordán Autor: Pablo Vargas B.