Conceptos Fundamentales del Análisis de Algoritmos II

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Conceptos Fundamentales del Análisis de Algoritmos II"

Transcripción

1 Conceptos Fundamentales del Análisis de Algoritmos II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 17 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

2 1 Conceptos fundamentales del análisis de algoritmos II Ordenes de crecimiento de funciones importantes Clases básicas de eficiencia asintótica Tarea 3 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

3 1 Conceptos fundamentales del análisis de algoritmos II Ordenes de crecimiento de funciones importantes Clases básicas de eficiencia asintótica Tarea 3 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

4 Una forma de comparar funciones que ignora factores constantes y tamaños de entradas pequeños O(g(n)): clase de funciones f(n) que crecen no más rápido que g(n) n O(n 2 ), 100n + 5 O(n 2 ), 1 2 n(n 1) O(n2 ). Θ(g(n)): clase de funciones f(n) que crecen a la misma tasa que g(n) an 2 + bn + c Θ(n 2 ), n 2 + sin n Θ(n 2 ), n 2 log n Θ(n 2 ). Ω(g(n)): clase de funciones f(n) que crecen al menos tan rápido como g(n) n 3 Ω(n 2 ), 1 2 n(n 1) Ω(n2 ), 100n + 5 / Ω(n 2 ). Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

5 , Gran-O t(n) cg(n), para toda n n 0 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

6 , Gran-Omega t(n) cg(n), para toda n n 0 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

7 , Gran-Theta c 2 g(n) t(n) c 1 g(n), para toda n n 0 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

8 , ejercicio 1 Utilice la notación más apropiada entre O, Θ y Ω para indicar la clase de eficiencia temporal del algoritmo de búsqueda secuencial Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

9 , ejercicio 1 Respuestas: Utilice la notación más apropiada entre O, Θ y Ω para indicar la clase de eficiencia temporal del algoritmo de búsqueda secuencial C worst(n) = n, C worst(n) Θ(n) C best (n) = 1, C best (n) Θ(1) C avg(n) = p(n+1) 2 + n(1 p) = (1 p 2 )n + p 2, Cavg(n) Θ(n) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

10 , ejercicio 2 De las siguientes afirmaciones cuáles son verdaderas y cuáles son falsas: 1 n(n + 1)/2 O(n 3 ) 2 n(n + 1)/2 O(n 2 ) 3 n(n + 1)/2 Θ(n 3 ) 4 n(n + 1)/2 Ω(n 3 ) 5 n(n + 1)/2 Ω(n) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

11 , ejercicio 2 De las siguientes afirmaciones cuáles son verdaderas y cuáles son falsas: 1 n(n + 1)/2 O(n 3 ) V 2 n(n + 1)/2 O(n 2 ) V 3 n(n + 1)/2 Θ(n 3 ) F 4 n(n + 1)/2 Ω(n 3 ) F 5 n(n + 1)/2 Ω(n) V Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

12 , propiedades f(n) O(f(n)) f(n) O(g(n)) si y sólo si g(n) Ω(f(n)) Si f(n) O(g(n)) y g(n) O(h(n)), entonces f(n) O(h(n)) Si f 1 (n) O(g 1 (n)) y f 2 (n) O(g 2 (n)), entonces f 1 (n) + f 2 (n) O(max{g 1 (n), g 2 (n)}) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

13 1 Conceptos fundamentales del análisis de algoritmos II Ordenes de crecimiento de funciones importantes Clases básicas de eficiencia asintótica Tarea 3 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

14 T (n) lím n g(n) = Ejemplo: 0 orden de crecimiento de T (n) < orden de crecimiento de g(n) c > 0 orden de crecimiento de T (n) = orden de crecimiento de g(n) orden de crecimiento de T (n) > orden de crecimiento de g(n) Comparar 1 n(n 1) y n2 2 lím n 1 n(n 1) 2 = 1 n 2 2 lím n 2 n = 1 ( n n 2 2 lím 1 1 ) = 1 n n 2 Como el límite es igual a una constante positiva, entonces las funciones tienen igual orden de crecimiento, i.e., 1 2 n(n 1) Θ(n2 ) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

15 Regla de l Hôpital Si lím f(n) = lím g(n) = y las derivadas f, g existen, entonces: n n Ejemplo: Comparar log 2 n y n f(n) lím n g(n) = lím f (n) n g (n) log lím 2 n (log = lím 2 n) n n n ( (log = lím 2 e) 1 n n) n 1 2 n 1 = 2 log 2 e lím = 0 n n Como el límite es igual a cero, entonces la función log 2 n tienen un orden de crecimiento más pequeño que el de n, i.e., log 2 n o( n) o(g(n)): clase de funciones f(n) que crecen estrictamente menos rápido que g(n) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

16 Fórmula de Stirling Para valores grandes de n: n! ( n ) n 2πn e Ejemplo: Comparar n! y 2 n ( n! 2πn n ) n lím n 2 = lím e n n = lím 2πn n n 2 n n 2 n e = lím ( n ) n 2πn = n n 2e Por lo tanto, aunque 2 n crece muy rápido, n! crece incluso más rápido, i.e., n! Ω(2 n ) Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

17 Ordenes de crecimiento de funciones importantes 1 Conceptos fundamentales del análisis de algoritmos II Ordenes de crecimiento de funciones importantes Clases básicas de eficiencia asintótica Tarea 3 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

18 Ordenes de crecimiento de funciones importantes Ordenes de crecimiento de funciones importantes Todas las funciones logarítmicas log a n pertenecen a la misma clase Θ(log n) sin importar la base del logaritmo a > 1 Todos los polinomios del mismo grado k pertenecen a la misma clase a k n k + a k 1 n k a 0 Θ(n k ) Las funciones exponenciales a n tienen diferentes ordenes de crecimiento para diferentes valores de a orden log n < orden n α (α > 0) < orden a n < orden n! < orden n n Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

19 Clases básicas de eficiencia asintótica 1 Conceptos fundamentales del análisis de algoritmos II Ordenes de crecimiento de funciones importantes Clases básicas de eficiencia asintótica Tarea 3 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

20 Clases básicas de eficiencia asintótica Clases básicas de eficiencia asintótica Clase Nombre 1 constante log n logarítmico n lineal n log n n-log-n o linearítmico n 2 n 3 cuadrático cúbico 2 n exponencial n! factorial Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

21 Tarea 3 1 Conceptos fundamentales del análisis de algoritmos II Ordenes de crecimiento de funciones importantes Clases básicas de eficiencia asintótica Tarea 3 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

22 Tarea 3 Tarea 3 Pruebe, usando límites, que las siguientes funciones están listadas ascendentemente con respecto a sus ordenes de crecimiento correspondientes: log n, n, n log n, n 2, n 3, 2 n, n! Fecha de entrega: 24 de enero antes de las 8 AM Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis II 17 de enero de / 20

Notación Asintótica. Temas. Introducción Notación O Notación Omega Notación Theta. Análisis de Algoritmos

Notación Asintótica. Temas. Introducción Notación O Notación Omega Notación Theta. Análisis de Algoritmos Notación Asintótica Análisis de Algoritmos Temas Introducción Notación O Notación Omega Notación Theta 1 Introducción Por qué el análisis de algoritmos? Determinar tiempos de respuesta (runtime) Determinar

Más detalles

Análisis matemático de algoritmos no recursivos

Análisis matemático de algoritmos no recursivos no recursivos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Análisis matemático de algoritmos 22 de enero de 2018 1 / 16 1 Análisis matemático

Más detalles

Notación Asintótica. Programación Avanzada

Notación Asintótica. Programación Avanzada Notación Asintótica Programación Avanzada Orden de crecimiento asintótico Ayuda a: Identificar el comportamiento de un algoritmo en el peor, el mejor o el caso promedio. Tener una idea del comportamiento

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Notación Asintótica DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Introducción Por qué el análisis de algoritmos? Determinar tiempos de respuesta (runtime)

Más detalles

Análisis de la Complejidad de Algoritmos

Análisis de la Complejidad de Algoritmos Análisis de la Complejidad de Algoritmos Gráficas estadística y minería de datos con python Miguel Cárdenas Montes Centro de Investigaciones Energéticas Medioambientales y Tecnológicas, Madrid, Spain miguel.cardenas@ciemat.es

Más detalles

1. Introducción al análisis de algoritmos

1. Introducción al análisis de algoritmos 1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Brassard y Bratley, 97; capítulos

Más detalles

1. 1. Introducción al concepto de algoritmia

1. 1. Introducción al concepto de algoritmia 1. Introducción al análisis de algoritmos 1. Introducción al concepto de algoritmia 2. Eficiencia de un algoritmo 3. Notación asintótica 4. Reglas generales Bibliografía Básica: Aho, Hopcroft y Ullman,

Más detalles

NOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.

NOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo. NOTACIÓN O GRANDE El análisis de algoritmos estima el consumo de recursos de un algoritmo. Esto nos permite comparar los costos relativos de dos o más algoritmos para resolver el mismo problema. El análisis

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos January 15, 010 1 Pseudocódigo 3 Modelos de referencia Antes de analizar un algoritmo debemos tener un modelo de la implementación de la tecnología que se va a usar, incluyendo un modelo para los recursos

Más detalles

1/16. Coste de Algoritmos. 8 de abril de 2018

1/16. Coste de Algoritmos. 8 de abril de 2018 1/16 Coste de Algoritmos Josefina Sierra Santibáñez 8 de abril de 2018 2/16 Coste de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, estimar los recursos que requiere. Aunque

Más detalles

Algoritmos y Complejidad

Algoritmos y Complejidad Algoritmos y Complejidad Técnicas y Herramientas Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2014 Técnicas y Herramientas Técnicas

Más detalles

Técnicas y Herramientas. Algoritmos y Complejidad. Técnicas de Demostración. Técnicas y Herramientas. Herramientas Matemáticas Básicas

Técnicas y Herramientas. Algoritmos y Complejidad. Técnicas de Demostración. Técnicas y Herramientas. Herramientas Matemáticas Básicas Técnicas y Herramientas Técnicas y Herramientas Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre 2014 Técnicas de Demostración Herramientas

Más detalles

Tiempo de Ejecución. Midiendo el Tiempo de Ejecución

Tiempo de Ejecución. Midiendo el Tiempo de Ejecución Tiempo de Ejecución Arturo Díaz Pérez Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro Zacatenco México, D. F. CP 07300

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 04: Notación asintótica M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Asíntota Dominio asintótico Ejemplo

Más detalles

Análisis de algoritmos

Análisis de algoritmos Tema 05: no recursivos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido no recursivos La notación de Landau O La notación O Principio

Más detalles

Diseño y Análisis de Algoritmos

Diseño y Análisis de Algoritmos 1. Recursividad 2. "Dividir para Reinar" 3. Recursividad y Tabulación (Programación Dinámica) 4. Métodos Matemáticos Funciones discretas Notación O Ecuaciones de recurrencia 5. Casos de Estudio Breve descripción

Más detalles

Algoritmos y problemas

Algoritmos y problemas Análisis de Algoritmos Algoritmos y problemas Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Algoritmos y problemas p. 1 Problema = un conjunto (posiblemente infinita) de instancias

Más detalles

Decrementa y vencerás II

Decrementa y vencerás II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás II 21 de febrero de 2018 1 / 22 1 Decrementa y vencerás II Dr. Eduardo

Más detalles

Análisis Amortizado. Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera

Análisis Amortizado. Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera Análisis Amortizado Diseño y Análisis de Algoritmos Cátedra de Programación Carrera de Ingeniería de Sistemas Prof. Isabel Besembel Carrera 1 Análisis de algoritmos La eficiencia de un programa tiene dos

Más detalles

COMPLEJIDAD Y EFICIENCIA DE ALGORITMOS

COMPLEJIDAD Y EFICIENCIA DE ALGORITMOS UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO Facultad de Ciencias Exactas y Tecnologías Licenciatura en Sistemas de Información 2009 COMPLEJIDAD Y EFICIENCIA DE ALGORITMOS 1 TEORÍA DE LA COMPLEJIDAD Dado

Más detalles

Complejidad computacional y asintótica

Complejidad computacional y asintótica Complejidad computacional y asintótica Complejidad computacional Indica el esfuerzo que hay que realizar para aplicar un algoritmo y lo costoso que éste resulta. La eficiencia suele medirse en términos

Más detalles

Complejidad de los Algoritmos

Complejidad de los Algoritmos Que es un Algoritmo? Complejidad de los Algoritmos Webster: cualquier método especial para resolver cierta clase de problemas. Horowitz: método preciso utilizable en una computadora para la solución de

Más detalles

La eficiencia de los programas

La eficiencia de los programas La eficiencia de los programas Jordi Linares Pellicer EPSA-DSIC Índice General 1 Introducción... 2 2 El coste temporal y espacial de los programas... 2 2.1 El coste temporal medido en función de tiempos

Más detalles

Estructura de Datos. Complejidad de Algoritmos. Algoritmo. Algoritmo. Mauricio Solar Lorna Figueroa

Estructura de Datos. Complejidad de Algoritmos. Algoritmo. Algoritmo. Mauricio Solar Lorna Figueroa Estructura de Datos Complejidad de Algoritmos Mauricio Solar Lorna Figueroa 2010 1 Algoritmo Definición: Un algoritmo es un conjunto finito de instrucciones que sirven para resolver un problema si fueron

Más detalles

cc3001 Métodos Matemáticos

cc3001 Métodos Matemáticos cc3001 Métodos Matemáticos Patricio Poblete Otoño 2012 Patricio Poblete () cc3001 Métodos Matemáticos Otoño 2012 1 / 17 Funciones discretas Para estudiar la eciencia de los algoritmos, generalmente usamos

Más detalles

Programación. Curso 2005/2006. Tema 3: Complejidad computacional

Programación. Curso 2005/2006. Tema 3: Complejidad computacional Programación Facultad de Informática Universidad Politécnica de Valencia Curso 2005/2006 Tema 3: FI UPV: 29 de noviembre de 2005 Índice 1 Introducción 2 2 Consumo de recursos: costes espaciales y temporales

Más detalles

Algoritmos: Análisis de algoritmos

Algoritmos: Análisis de algoritmos Algoritmos: Análisis de algoritmos Alberto Valderruten LFCIA - Departamento de Computación Facultad de Informática Universidad de A Coruña, España www.lfcia.org/alg www.fi.udc.es Contenido Análisis de

Más detalles

Introducción al Análisis del Coste de Algoritmos

Introducción al Análisis del Coste de Algoritmos 1/11 Introducción al Análisis del Coste de Algoritmos Josefina Sierra Santibáñez 7 de noviembre de 2017 2/11 Eficiencia de un Algoritmo Analizar un algoritmo significa, en el contexto de este curso, predecir

Más detalles

Introducción y Comportamiento Asintótico

Introducción y Comportamiento Asintótico Introducción y Comportamiento Asintótico M. Andrea Rodríguez-Tastets Ayudante: Erick Elejalde Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl I Semestre - 2014 1/64 Problemas and

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Análisis de Algoritmos IIC1253 IIC1253 Análisis de Algoritmos 1 / 36 Complejidad de un algoritmo Un algoritmo A puede ser pensado como una función A : {0,1} {0,1} Qué tan general es esta representación?

Más detalles

1. Algoritmo, programa y pseudocódigo. Introducción al estudio de algoritmos. Ejemplos

1. Algoritmo, programa y pseudocódigo. Introducción al estudio de algoritmos. Ejemplos Introducción al estudio de algoritmos 1. Algoritmo, programa y pseudocódigo 2. Eficiencia y el principio de invarianza 3. Operaciones elementales 4. Casos mejor, peor y medio 5. Notación asintótica 6.

Más detalles

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (ii)

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (ii) Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (ii) Eficiencia y notación asintótica. Análisis de algoritmos En la lección anterior el concepto de eficiencia asintótica. En ésta

Más detalles

Temas. Objetivo 12:00

Temas. Objetivo 12:00 0 Temas Teoría de la Complejidad Análisis de Algoritmos Complejidad temporal y espacial Funciones Matemáticas Ordenes Notación Asintótica Principios para determinar el orden de un algoritmo Objetivo Que

Más detalles

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Noviembre, 2003 CS0218: Algoritmos y Programación II Introducción En Ciencias de la Computación se presenta con frecuencia la situación de analizar

Más detalles

Análisis asintótico de algoritmos

Análisis asintótico de algoritmos Algoritmos y problemas Análisis asintótico de algoritmos! Cada algoritmo resuelve a un problema particular! Hay varias maneras de resolver un problema! Algunas maneras son buenas y otras son malas! El

Más detalles

ALGORITMOS INTRODUCCIÓN ALGORITMOS INTRODUCCIÓN AL ANÁLISIS Y AL DISEÑO DE AL ANÁLISIS Y AL DISEÑO DE UNIVERSIDAD AUTÓNOMA METROPOLITANA

ALGORITMOS INTRODUCCIÓN ALGORITMOS INTRODUCCIÓN AL ANÁLISIS Y AL DISEÑO DE AL ANÁLISIS Y AL DISEÑO DE UNIVERSIDAD AUTÓNOMA METROPOLITANA INTRODUCCIÓN AL ANÁLISIS Y AL DISEÑO DE ALGORITMOS El análisis de la complejidad de algoritmos, así como la discusión de las ventajas/desventajas, que tienen diferentes soluciones a los problemas clásicos,

Más detalles

Algorítmica: Análisis de Algoritmos

Algorítmica: Análisis de Algoritmos Algorítmica: Análisis de Algoritmos Conrado Martínez U. Politècnica Catalunya Q1-2011-2012 Eficiencia de un algoritmo = consumo de recursos de cómputo: tiempo de ejecución y espacio de memoria Análisis

Más detalles

Análisis de algoritmos.

Análisis de algoritmos. Análisis de algoritmos. - Introducción. - Notaciones asintóticas. - Ecuaciones de recurrencia. - Ejemplos. 1 Introducción Algoritmo: Conjunto de reglas para resolver un problema. Su ejecución requiere

Más detalles

Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007

Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 Análisis de Algoritmos Primer Problemario Prof. Miguel A. Pizaña 22 de Mayo de 2007 I Tareas 1. Dudar de todo, al menos una vez en la vida. 2. Que dice la paradoja de Zenón de Elea? Qué significa paradoja?

Más detalles

Tema 3.2: Eficiencia de algoritmos recursivos. Diseño y Análisis de Algoritmos

Tema 3.2: Eficiencia de algoritmos recursivos. Diseño y Análisis de Algoritmos Diseño y Análisis de Algoritmos Contenidos Contenidos 1 Introducción 2 3 Método general para resolución de relaciones de recurrencia URJC DAA 2 / 37 Introducción Análisis de algoritmos recursivos La matemática

Más detalles

Análisis y Diseño de Algoritmos. Complejidad Computacional

Análisis y Diseño de Algoritmos. Complejidad Computacional Análisis y Diseño de Algoritmos Complejidad Computacional Multiplicación Método Tradicional Método Russé Método Particiones Complejidad Computacional Tan pronto como una máquina análitica exista, será

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Análisis de Algoritmos Amalia Duch Barcelona, marzo de 2007 Índice 1. Costes en tiempo y en espacio 1 2. Coste en los casos mejor, promedio y peor 3 3. Notación asintótica 4 4. Coste de los algoritmos

Más detalles

Notación Asintótica 2

Notación Asintótica 2 Notación Asintótica 2 mat-151 1 Éxamen Rápido (6 minutos) Cada operación fundamental usa c milisegundos, cuánto tiempo toma contar hasta 1,000,000? Cuál es el valor de N? Cuál es el órden de complejidad

Más detalles

Programación 2. Lección 8. Caracterización asintótica de la eficiencia de un algoritmo

Programación 2. Lección 8. Caracterización asintótica de la eficiencia de un algoritmo Programación 2 Lección 8. Caracterización asintótica de la eficiencia de un algoritmo 1 1. Funciones de coste de un algoritmo 2. Caracterización asintótica del coste Notación O Consecuencias prácticas

Más detalles

Programación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2

Programación II. Mario Aldea Rivas Programación II 04/04/11 1. Mario Aldea Rivas Programación II 04/04/11 2 Programación II Bloque temático 1. Lenguajes de programación Bloque temático 2. Metodología de programación Bloque temático 3. Esquemas algorítmicos Tema 5. Algoritmos voraces, heurísticos y aproximados

Más detalles

Contenido. 1 Análisis de algoritmos. Contenido. Contenido. Complejidad computacional. Clases de complejidad. Factores que afectan la eficiencia

Contenido. 1 Análisis de algoritmos. Contenido. Contenido. Complejidad computacional. Clases de complejidad. Factores que afectan la eficiencia Análisis de algoritmos Notas de clase basadas en Análisis de Algoritmos y Complejidad Computacional de Ian Parberry Dr. Francisco Javier Zaragoza Martínez franz@correo.azc.uam.mx UAM Azcapotzalco Departamento

Más detalles

Programación Análisis de Algoritmos: Tiempo de Ejecución (Introducción)

Programación Análisis de Algoritmos: Tiempo de Ejecución (Introducción) Programación 2 5 - Análisis de Algoritmos: Tiempo de Ejecución (Introducción) 1 Análisis de Algoritmos: Introducción Qué algoritmos elegir para resolver un problema? Que sean fáciles de entender, codificar

Más detalles

Decrementa y vencerás

Decrementa y vencerás Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 19 de febrero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Decrementa y vencerás 19 de febrero de 2018 1 / 30 1 Decrementa y vencerás Tipos de algoritmos

Más detalles

CI2612: Algoritmos y Estructuras de Datos II. Nociones básicas. Objetivos. Algoritmos. Blai Bonet

CI2612: Algoritmos y Estructuras de Datos II. Nociones básicas. Objetivos. Algoritmos. Blai Bonet CI2612: Algoritmos y Estructuras de Datos II Blai Bonet Nociones básicas Universidad Simón Boĺıvar, Caracas, Venezuela Objetivos Algoritmos Concepto de algoritmo y modelo computacional Complejidad en tiempo

Más detalles

Análisis matemático de algoritmos recursivos

Análisis matemático de algoritmos recursivos Análisis matemático de algoritmos recursivos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 24 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Análisis matemático de algoritmos 24 de enero de

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Ejercicio 1: Estructuras de Datos y Algoritmos Año 2018 Práctico 2: Evaluación de Algoritmos (Finalización: 27/08) Ingeniería en Computación - Ingeniería en Informática - Profesorado en Computación Dados

Más detalles

Tema 2 Fundamentos de Complejidad Algorítmica

Tema 2 Fundamentos de Complejidad Algorítmica Tema 2 Fundamentos de Complejidad Algorítmica Pablo Sánchez Dpto. Matemáticas, Estadística y Computación Universidad de Cantabria Santander (Cantabria, España) p.sanchez@unican.es Pablo Sánchez (MATESCO)

Más detalles

Parte I: El computador y el proceso de programación

Parte I: El computador y el proceso de programación Parte I: El computador y el proceso de programación 1.Introducción a los computadores y su programación 2. Introducción al análisis y diseño de algoritmos 3. Introducción al análisis y diseño de programas

Más detalles

Tema 5- Diseño Recursivo y Eficiente. Tema 5- Diseño Recursivo y. Descomposición recursiva ascendente de un vector. Etapas del diseño recursivo

Tema 5- Diseño Recursivo y Eficiente. Tema 5- Diseño Recursivo y. Descomposición recursiva ascendente de un vector. Etapas del diseño recursivo Tema 5- Diseño Recursivo y Eficiente Tema 5- Diseño Recursivo y Eficiente Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Introducción

Más detalles

1. Planteamiento general

1. Planteamiento general Algoritmos de tipo Divide y Vencerás 1. Planteamiento general 2. Determinación del caso base 3.1. Búsqueda binaria 3.3. Problema de la selección 3.4. Multiplicación de matrices de Strassen 1. Planteamiento

Más detalles

Complejidad computacional. Algoritmos y Estructuras de Datos I. Complejidad computacional. Notación O grande

Complejidad computacional. Algoritmos y Estructuras de Datos I. Complejidad computacional. Notación O grande Complejidad computacional Algoritmos y Estructuras de Datos I Segundo cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Algoritmos - clase 10 Introducción a la complejidad computacional y

Más detalles

Congruencias y un Algoritmo de Tiempo Polinomial para la Factorización de Números

Congruencias y un Algoritmo de Tiempo Polinomial para la Factorización de Números Instituto Politécnico Nacional Escuela Superior de Física y Matemáticas Departamento de Matemáticas Congruencias y un Algoritmo de Tiempo Polinomial para la Factorización de Números Tesis que para obtener

Más detalles

Análisis de Algoritmos

Análisis de Algoritmos Parte de Algoritmos de la asignatura de Programación Master de Bioinformática Análisis de Algoritmos Web asignatura: http://dis.um.es/~domingo/algbio.html E-mail profesor: domingo@um.es Transparencias

Más detalles

Parte II: Estructuras de datos y algoritmos

Parte II: Estructuras de datos y algoritmos Parte II: Estructuras de datos y algoritmos 1. Introducción al análisis y diseño de algoritmos. 2. Tipos abstractos de datos. 3. Métodos de ordenación. 4 GRUPO DE COMPUTADORES Y TIEMPO REAL Javier Gutiérrez,

Más detalles

Conceptos Fundamentales del Análisis de Algoritmos

Conceptos Fundamentales del Análisis de Algoritmos Conceptos Fundamentales del Análisis de Algoritmos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 15 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Conceptos Fundamentales del Análisis 15 de

Más detalles

ALGORITMIA DISEÑO Y ANÁLISIS DE LOS ALGORITMOS DRA. LETICIA FLORES PULIDO

ALGORITMIA DISEÑO Y ANÁLISIS DE LOS ALGORITMOS DRA. LETICIA FLORES PULIDO + ALGORITMIA DISEÑO Y ANÁLISIS DE LOS ALGORITMOS DRA. LETICIA FLORES PULIDO + Aspectos importantes 2 n Es importante notar que el tiempo de ejecución de un programa no es el único aspecto a considerar

Más detalles

Divide y vencerás. Dr. Eduardo A. RODRÍGUEZ TELLO. 7 de marzo de CINVESTAV-Tamaulipas

Divide y vencerás. Dr. Eduardo A. RODRÍGUEZ TELLO. 7 de marzo de CINVESTAV-Tamaulipas Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 7 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Divide y vencerás 7 de marzo de 2018 1 / 50 1 Divide y vencerás Dr. Eduardo RODRÍGUEZ T. (CINVESTAV)

Más detalles

Introducción al análisis de algoritmos

Introducción al análisis de algoritmos Estructura de Datos y Algoritmos Introducción al análisis de algoritmos 1. Eficiencia en tiempo de Ejecución Cuando resolvemos un problema nos vemos frecuentemente enfrentando una elección de programas,

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Práctico 2: Evaluación de Algoritmos (Finalización: 03/09) Ingeniería en Computación - Ingeniería en Informática Año 2015 Ejercicio 1: Dados los siguientes vectores, correspondientes

Más detalles

ELO320 Estructuras de Datos y Algoritmos. Complejidad. Tomás Arredondo Vidal

ELO320 Estructuras de Datos y Algoritmos. Complejidad. Tomás Arredondo Vidal ELO320 Estructuras de Datos y Algoritmos Complejidad Tomás Arredondo Vidal Este material está basado en: Robert Sedgewick, "Algorithms in C", (third edition), Addison-Wesley, 2001 Thomas Cormen et al,

Más detalles

ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS

ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS Universidad Nacional de San Antonio Abad del Cusco Departamento Académico de Informática ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS Iván Medrano Valencia ANALISIS DE ALGORITMOS Un algoritmo es un

Más detalles

Demostrando cotas inferiores: Arboles de decisión

Demostrando cotas inferiores: Arboles de decisión Demostrando cotas inferiores: Arboles de decisión De la misma forma que la técnica basada en la mejor estrategia del adversario, vamos a utilizar los árboles de decisión para establecer una cota inferior

Más detalles

Algoritmos y Complejidad

Algoritmos y Complejidad IN47B, Ingeniería de Operaciones Contenidos 1 Introducción 2 Analizando Algoritmos 3 Complejidad 4 N P-completitud Qué es un Algoritmo? Qué es un Algoritmo? Definición Un algoritmo es un conjunto de pasos

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

Más detalles

Parte II. Estructuras de datos y algoritmos

Parte II. Estructuras de datos y algoritmos Parte II. Estructuras de datos y algoritmos Tema 10. Introducción al análisis y diseño de algoritmos. Diseño de un programa. Concepto de algoritmo. Descripción de algoritmos: el pseudolenguaje y diagramas

Más detalles

Capítulo 1 LA COMPLEJIDAD DE LOS ALGORITMOS

Capítulo 1 LA COMPLEJIDAD DE LOS ALGORITMOS Capítulo 1 LA COMPLEJIDAD DE LOS ALGORITMOS 1.1 INTRODUCCIÓN En un sentido amplio, dado un problema y un dispositivo donde resolverlo, es necesario proporcionar un método preciso que lo resuelva, adecuado

Más detalles

Cuál es el significado de t(n) en este caso? Dependen O(t(n)) y Ω(t(n)) de este significado? Y o(t(n))? Justifica las respuestas.

Cuál es el significado de t(n) en este caso? Dependen O(t(n)) y Ω(t(n)) de este significado? Y o(t(n))? Justifica las respuestas. 159. (Clase) Obtener el tiempo de ejecución t(n), O(t(n)), Ω(t(n)) y o(t(n)) para el siguiente algoritmo de multiplicación de matrices: for i= 1 to n for j= 1 to n suma= 0 for k= 1 to n suma= suma + a[i,

Más detalles

3.1. Algoritmos. que él ejecuta las instrucciones.

3.1. Algoritmos. que él ejecuta las instrucciones. 3.1. Algoritmos Formalmente qué es un algoritmo? no es una pregunta fácil de responder, de hecho, no daremos una definición formal, apelaremos a la intuición que el alumno tenga hasta el momento. Intuitivamente

Más detalles

Tema 3. Análisis de costes

Tema 3. Análisis de costes Tema 3. Análisis de costes http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información

Más detalles

Estructuras de Datos. Clase 3 Análisis de algoritmos recursivos

Estructuras de Datos. Clase 3 Análisis de algoritmos recursivos Clase 3 Análisis de algoritmos recursivos http://cs.uns.edu.ar/~sag Bahía Blanca, Argentina Notación asintótica (Big-Oh) Sean f(n) y g(n) : N R f(n) es O(g(n)) ssiexisten c real con c>0 y n 0 natural con

Más detalles

PROGRAMA DE ASIGNATURA

PROGRAMA DE ASIGNATURA PROGRAMA DE ASIGNATURA ASIGNATURA: Algoritmos y Estructuras de Datos II AÑO: 2012 CARÁCTER: Obligatoria CARRERA: Licenciatura en Ciencias de la Computación RÉGIMEN: cuatrimestral CARGA HORARIA: 120 hs.

Más detalles

Carlos A. Rivera-Morales. Precálculo 2

Carlos A. Rivera-Morales. Precálculo 2 y Carlos A. Rivera-Morales Precálculo 2 Introducción a y Notación d Tabla de Contenido 1 Definición Sumas Parciales Introducción a y Notación d Tabla de Contenido 1 Definición Sumas Parciales 2 Introducción

Más detalles

3. Notación asintótica TEMA 1: EFICIENCIA DE LOS ALGORITMOS. 3. Notación asintótica. 3. Notación asintótica. 3. Notación asintótica

3. Notación asintótica TEMA 1: EFICIENCIA DE LOS ALGORITMOS. 3. Notación asintótica. 3. Notación asintótica. 3. Notación asintótica TEMA 1: EFICIENCIA DE LOS ALGORITMOS 0. Notació 1. Medida de la complejidad 2. Aálisis por casos El factor que más iteresa de las fucioes de coste es la tasa de crecimieto para valores grades de la talla

Más detalles

dit UPM Tema 1: Algoritmos /complejidad /java Análisis y diseño de software José A. Mañas

dit UPM Tema 1: Algoritmos /complejidad /java Análisis y diseño de software José A. Mañas Análisis y diseño de software dit UPM Tema 1: Algoritmos /complejidad /java José A. Mañas http://jungla.dit.upm.es/~pepe/doc/adsw/index.html 21.2.2018 referencias http://www.dit.upm.es/~pepe/doc/adsw/

Más detalles

ANÁLISIS Y DISEÑO DE ALGORITMOS

ANÁLISIS Y DISEÑO DE ALGORITMOS ANÁLISIS Y DISEÑO DE ALGORITMOS CURSO 2005/2006 BOLETÍN DE PROBLEMAS: DIVIDE Y VENCERÁS Ejercicio 1 Dado un vector ordenado y rotado k veces: diseñar un algoritmo O(log n) que encuentre el elemento mayor

Más detalles

Tema 2. Análisis de Complejidad

Tema 2. Análisis de Complejidad Universidad Poliécnica de Madrid Escuela Técnica Superior de Ingeniería de Sisemas Informáicos Tema 2. Análisis de Complejidad Algorímica y Complejidad Inroducción Problemas y Funciones: Ejemplos 2 4 1

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Recurrencias DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Introducción 2 Cuando un algoritmo se llama a sí mismo Su tiempo de ejecución se puede describir

Más detalles

Análisis de Algoritmos CB-102

Análisis de Algoritmos CB-102 Análisis de Algoritmos CB-102 Algoritmos en Paralelo Centro de Manufactura / Centro de Sistema Inteligentes ITESM Algoritmos en Paralelo TC-4001 - p. 1/22 Hasta este punto, nuestro modelo de computación

Más detalles

TEMA 1 La eficiencia de los algoritmos

TEMA 1 La eficiencia de los algoritmos DLSI (Univ. Alicante) Tema 1. La eficiencia de los algoritmos TEMA 1 La eficiencia de los algoritmos PROGRAMACIÓN Y ESTRUCTURAS DE DATOS La eficiencia de los algoritmos 1. Noción de complejidad Complejidad

Más detalles

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i)

Algorítmica y Lenguajes de Programación. Eficiencia y notación asintótica (i) Algorítmica y Lenguajes de Programación Eficiencia y notación asintótica (i) Eficiencia y notación asintótica. Introducción Para resolver un problema pueden existir varios algoritmos. Por tanto, es lógico

Más detalles

PROYECTO MATEM CURSO PRECÁLCULO UNDÉCIMO AÑO MODALIDAD ANUAL. Guía para el II parcial

PROYECTO MATEM CURSO PRECÁLCULO UNDÉCIMO AÑO MODALIDAD ANUAL. Guía para el II parcial Universidad de Costa Rica Instituto Tecnológico de Costa Rica PROYECTO MATEM CURSO PRECÁLCULO UNDÉCIMO AÑO MODALIDAD ANUAL Guía para el II parcial Sábado 25 de junio, 8:00 a.m. 2016 II PARCIAL ÁLGEBRA

Más detalles

Sucesiones y series numéricas

Sucesiones y series numéricas Sucesión Se llama sucesión a una función f : N R que a cada natural n asocia un número real a n. Se denota por {a n } o (a n), o {a 1,a 2,...,a n,...}. Ejemplos 1, 4 3, 9 7, 16 15,..., n 2 2 n 1,... {0.3,0.33,0.333,...}

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Introducción: El Rol de los Algoritmos en Computación DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Temario 2 1. Introducción 2. Notación Asintótica 3. Recurrencias

Más detalles

ESTRUCTURAS DE DATOS

ESTRUCTURAS DE DATOS ESTRUCTURAS DE DATOS Analista de Sistemas y Licenciatura en Sistemas Lic. Verónica L. Vanoli Dra. Sandra I. Casas Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos Indice ANALISIS

Más detalles

ÍNDICE. Prefacio... xi

ÍNDICE. Prefacio... xi ÍNDICE Prefacio... xi 1 EL SISTEMA DE LOS NÚMEROS REALES... 1 1.1 Conjuntos... 1 Ejercicio 1.1, 20 problemas... 7 1.2 Constantes y variables... 8 1.3 El conjunto de los números reales... 9 Ejercicio 1.2,

Más detalles

Técnicas de diseño de algoritmos

Técnicas de diseño de algoritmos Técnicas de diseño de algoritmos Introducción Luis Javier Rodríguez Fuentes Amparo Varona Fernández Departamento de Electricidad y Electrónica Facultad de Ciencia y Tecnología, UPV/EHU luisjavier.rodriguez@ehu.es

Más detalles

Factorización. 1) Al factorizar 6x 2 x 2 uno de los factores es. A) 2x + 2. B) 3x + 2. C) 2x 2. D) 3x 2

Factorización. 1) Al factorizar 6x 2 x 2 uno de los factores es. A) 2x + 2. B) 3x + 2. C) 2x 2. D) 3x 2 www.matematicagauss.com Factorización 1) Al factorizar 6x x uno de los factores es A) x + B) x + x x ) Al factorizar a b 4 + 4b uno de los factores es A) 1 + b B) a b a b + a b ) En la factorización completa

Más detalles

Resolviendo Recurrencias

Resolviendo Recurrencias Resolviendo Recurrencias Mauro Jaskelioff 16/03/2015 Análisis de Algoritmos Queremos poder evaluar la performance de algoritmos. Para esto utilizamos Notación Asintótica Modelo de Costo basado en Lenguaje

Más detalles

Estructuras de Datos: 503404

Estructuras de Datos: 503404 Estructuras de Datos: 503404 Andrea Rodríguez 13 de marzo de 2006 1. Definiciones Los conceptos de tipo de datos, tipo abstracto de datos y estructuras de datos juegan un papel importante en Ciencias de

Más detalles

Cubiertas convexas II

Cubiertas convexas II Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Cubiertas convexas II 22 de enero del 2013 1 / 41 1 Cubiertas convexas II Algoritmo QuickHull

Más detalles

Métodos Numéricos I - C.S.I. - Curso 2003/04. TEMA 2: Interpolación polinómica de funciones

Métodos Numéricos I - C.S.I. - Curso 2003/04. TEMA 2: Interpolación polinómica de funciones Ejercicios. Hoja 2.1 1. Usar la fórmula de Lagrange para obtener un polinomio cúbico que interpola los valores de la tabla siguiente. Evaluarlo luego para x = 2, 3, 5. x k 0 1 4 6 y k 1-1 1-1 [Sol.: P

Más detalles

La función exponencial se define con una base constante cuyo exponente es el valor variable, es decir:

La función exponencial se define con una base constante cuyo exponente es el valor variable, es decir: Función Exponencial La función exponencial se define con una base constante cuyo exponente es el valor variable, es decir: Con Gráfica función exponencial a) Si la función es creciente en. b) Si la función

Más detalles