Análisis de la Complejidad de Algoritmos

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

Download "Análisis de la Complejidad de Algoritmos"

Transcripción

1 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 de Abril de 2013 M. Cárdenas (CIEMAT) Complexity de Abril de / 16

2 Tabla de Contenidos 1 Objetivos 2 Análisis de Algoritmos M. Cárdenas (CIEMAT) Complexity de Abril de / 16

3 Objetivos Conocer los órdenes de tiempo de ejecución de los algoritmos. Conocer algunos estimadores como: O(g(n)), Ω(g(n)), Θ(g(n)). M. Cárdenas (CIEMAT) Complexity de Abril de / 16

4 Análisis de Algoritmos M. Cárdenas (CIEMAT) Complexity de Abril de / 16

5 Análisis de Algoritmos I El objetivo del análisis de algorimos es dar significado a la comparación entre ellos. Sin embargo, el rendimiento relativo de los algoritmos puede depender de: las características del hardware, de los detalles del conjunto de datos tratados, y del tamaño del problema; además del propio algoritmo. M. Cárdenas (CIEMAT) Complexity de Abril de / 16

6 Análisis Asintótico II Motivación Puesto que para obtener el mismo resultado se pueden utilizar muchos algoritmos diferentes (ordenar una lista), es importante saber cual es el más rápido. Puesto que conocer el tiempo de ejecución para un fichero de entrada determinado no revela cual puede ser su comportamiento para otro fichero de entrada; se necesita una fórmula que relacione el tamaño del fichero de entrada, y su tiempo de ejecución aproximado; y que esta fórmula no esté influida por cómo se han realizado las medidas. Además esta fórmula debe describir el comportamiento del algoritmo para ficheros de entrada muy grandes, de ahí, su nombre comportamiento asintótico. M. Cárdenas (CIEMAT) Complexity de Abril de / 16

7 Análisis Asintótico III En vez de especificar la relación exacta entre el tamaño del fichero de entrada y el tiempo de ejecución, solo se especifica la escala de tiempos cuando el fichero de entrada se hace muy grande. Así, un algoritmo que tiene una dependencia con el tamaño del fichero de entrada de 4 n 2, entonces se dice que el tiempo de ejecución escala como n 2. Para tamaños grandes de ficheros de entrada, utilizar un algoritmo que escala como n 2 será más conveniente que utilizar un algoritmo que escala como n 3. M. Cárdenas (CIEMAT) Complexity de Abril de / 16

8 Análisis Asintótico IV Big-Oh Notación Esta notación se utiliza para indicar el término dominante en el tiempo de ejecución: T(n) = O(n 2 ) o T(n) O(n 2 ), o simplemente O(n 2 ). Es ampliamente utilizada en muchos campos de estudio: Algoritmos evolutivos, data mining, y algorítmica en general. La frase f(n) es O(g(n)) significa que el ritmo de crecimiento de f(n) no es mayor que el ritmo de crecimiento de g(n). M. Cárdenas (CIEMAT) Complexity de Abril de / 16

9 Análisis Asintótico V O(1) orden constante O(log log n) orden sublogarítmico O(log n) orden logarítmico O( n) orden sublineal O(n) orden lineal O(n log n) orden lineal logarítmico O(n c ) orden potencial O(c n ) orden exponencial O(n!) orden factorial O(n n ) orden potencial exponencial M. Cárdenas (CIEMAT) Complexity de Abril de / 16

10 Análisis Asintótico VI Debilidades Algunas veces los términos no superiores son los que producen la diferencia real en el comportamiento del algoritmo: n n 2. Algunas veces otros factores como: el hardware, el lenguaje de programación y determinadas características de los datos de entrada son esenciales en la diferencia de tiempo de ejecución. Para problemas pequeños, el carácter asintótico es irrelevante. M. Cárdenas (CIEMAT) Complexity de Abril de / 16

11 Análisis Asintótico VII Otras Notaciones Exiten otras dos notaciones menos frequentes pero importantes en este área: Ω() y Θ(). Ω() f(n) es Ω(g(n)) si hay una constante c, c > 0 y un entero n 0 1 tal que f(n) c g(n) para n n 0 Θ() f(n) es Θ(g(n)) si hay dos constantes c 1 > 0 y c 2 > 0, y un entero n 0 1 tal que c 1 g(n) f(n) c 2 g(n) para n n 0 M. Cárdenas (CIEMAT) Complexity de Abril de / 16

12 Análisis Asintótico VIII Intuitivamente O() f(n) es O(g(n)) si f(n) es asintóticamente menor o igual que g(n) Ω() f(n) es Ω(g(n)) si f(n) es asintóticamente mayor o igual que g(n) Θ() f(n) es Θ(g(n)) si f(n) es asintóticamente igual que g(n) M. Cárdenas (CIEMAT) Complexity de Abril de / 16

13 Análisis Asintótico IX Big Theta f(n) = Θ(g(n)) f(n) c g(n) Big Oh f(n) = O(g(n)) f(n) c g(n) Big Omega f(n) = Ω(g(n)) f(n) c g(n) M. Cárdenas (CIEMAT) Complexity de Abril de / 16

14 Análisis Asintótico X Time Complexity Time complexity de un algoritmo es el tiempo más grande requerido para cualquier fichero de entrada de tamaño n (Análisis del peor caso, Worst case analysis) O(n 2 ) Para cualquier tamaño de fichero de entrada n n 0, el algoritmo emplea no más tiempo que c n 2 con cada entrada. Ω(n 2 ) Para cualquier tamaño de fichero de entrada n n 0, el algoritmo emplea al menos c n 2 con al menos con una fichero de entrada. Θ(n 2 ) Ambos casos. M. Cárdenas (CIEMAT) Complexity de Abril de / 16

15 Análisis Asintótico XI Time Complexity O(n 2 ) Proporcionar un algoritmo que soluciona el problema en no más que este tiempo. Hacer esto para cada fichero de entrada (worst case analysis!). Ω(n 2 ) Probar que ningún algoritmo puede solucionar el problema más rápido. Solo es necesario un fichero de entrada que emplee al menos este tiempo. Θ(n 2 ) Ambos casos. M. Cárdenas (CIEMAT) Complexity de Abril de / 16

16 Gracias Gracias Preguntas? Más preguntas? M. Cárdenas (CIEMAT) Complexity de Abril de / 16

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

Regresión Lineal. Minería de datos con python. Miguel Cárdenas Montes

Regresión Lineal. Minería de datos con python. Miguel Cárdenas Montes Regresión Lineal 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 2-6 de Noviembre de 2015

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

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

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

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

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

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

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

Introducción a la Computación Evolutiva

Introducción a la Computación Evolutiva Introducción a la Computación Evolutiva Departamento de Computación CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco México, D.F. 07300 email: ccoello@cs.cinvestav.mx http: //delta.cs.cinvestav.mx/~ccoello

Más detalles

TÉCNICAS DE ANÁLISIS DE ALGORITMOS Miguel Angel Norzagaray Cosío Universidad Autónoma de Baja California Sur 1

TÉCNICAS DE ANÁLISIS DE ALGORITMOS Miguel Angel Norzagaray Cosío Universidad Autónoma de Baja California Sur 1 Nivel Superior TÉCNICAS DE ANÁLISIS DE ALGORITMOS Miguel Angel Norzagaray Cosío Universidad Autónoma de Baja California Sur 1 Resumen Se presentan en las siguientes notas los aspectos teóricos y metodológicos

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional

Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009

Más detalles

Uniciencia E-ISSN: Universidad Nacional Costa Rica

Uniciencia E-ISSN: Universidad Nacional Costa Rica Uniciencia E-ISSN: 2215-3470 revistauniciencia@una.cr Universidad Nacional Costa Rica de Dios Murillo Morera, Juan; Caamaño Polini, Santiago COMPARACIÓN ENTRE ALGORITMOS RECURSIVOS E ITERATIVOS Y SU MEDICIÓN

Más detalles

Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos

Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos Estructura de Datos y Algoritmos Algoritmos Iterativos de Búsqueda y Ordenación y sus tiempos 1. Algorimos de ordenación Discutiremos el problema de ordenar un array de elementos. A los efectos de simplificar

Más detalles

Algoritmos de Ordenación

Algoritmos de Ordenación Algoritmos de Ordenación Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Algoritmos comunes - Ordenación Ordenación o clasificación es

Más detalles

Esquema de Dividir y Vencer

Esquema de Dividir y Vencer Esquema de Dividir y Vencer Amalia Duch Barcelona, marzo de 2006 Índice 1. Esquema general 1 2. Búsqueda binaria (binary search) 2 3. Ordenación por fusión (merge sort) 2 4. Ordenación rápida (quick sort)

Más detalles

Tema 2. Divide y vencerás.

Tema 2. Divide y vencerás. Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones especificaciones. 2. Conjuntos diccionarios. 3. Representación de conjuntos mediante árboles. 4. Grafos. Parte II. Algorítmica. 1. Análisis

Más detalles

Algoritmos y Estructuras de Datos

Algoritmos y Estructuras de Datos 1 / 17 Andrés A. Aristizábal P. aaaristizabal@icesi.edu.co Universidad Icesi Facultad de Ingeniería 2017-2 2 / 17 Ejercicios previos Agenda del día 1 Ejercicios previos Peor, mejor y caso promedio Terminología

Más detalles

Algoritmos de Búsqueda

Algoritmos de Búsqueda Introducción a la Computación Algoritmos de Búsqueda Esteban E. Mocskos (emocskos@dc.uba.ar) Facultad de Ciencias Exactas y Naturales, UBA CONICET 11/10/2017 E. Mocskos (UBA CONICET) Algoritmos de Búsqueda

Más detalles

Programación de Sistemas

Programación de Sistemas Programación de Sistemas Algoritmos de Ordenación Índice Por qué es importante la ordenación? Un par de ejemplos InsertionSort QuickSort Para cada uno veremos: En qué consisten, Casos extremos Eficiencia

Más detalles

Algoritmos y Estructuras de Datos

Algoritmos y Estructuras de Datos 1 / 36 Universidad Icesi Facultad de Ingeniería 2017-2 2 / 36 Agenda del día 1 3 / 36 Por qué usamos recurrencias en análisis de algoritmos? 3 / 36 Por qué usamos recurrencias en análisis de algoritmos?

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

Análisis de algoritmos

Análisis de algoritmos Tema 08: Divide y vencerás (DyV) M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Divide y vencerás Observaciones

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

Ordenamiento en Tiempo Lineal - Medianas y Ordenes sticas

Ordenamiento en Tiempo Lineal - Medianas y Ordenes sticas Ordenamiento en Tiempo Lineal - Medianas y Ordenes Estadísticas sticas CLASIFICACIÓN EN TIEMPO LINEAL. 1.- Cota Inferior para Ordenamiento por comparaciones. -árbol de decisión. - limite inferior para

Más detalles

ESTUDIO DE PRE FACTIBIIDAD

ESTUDIO DE PRE FACTIBIIDAD ESTUDIO DE PRE FACTIBIIDAD I. INTRODUCCION II. RESUMEN EJECUTIVO III. ANALISIS DEL ENTORNO IV. ESTUDIO DE PRE FACTIBIIDAD OBJETIVO CARACTERISTICA POLITICAS ECONOMICAS O INDUSTRIALES QUE LIMITAN O FAVORECEN

Más detalles

a) Para calcular los órdenes sólo es necesario contar el número de veces que se pasa por el bucle más interno. El coste sería n

a) Para calcular los órdenes sólo es necesario contar el número de veces que se pasa por el bucle más interno. El coste sería n EXAMEN DE ALGORÍTMICA. Segundo Ingeniería Técnica en Informática de Gestión y de Sistemas. Diciembre 2003 1) (3 puntos) El siguiente programa obtiene la subcadena más larga de números iguales dentro de

Más detalles

Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013

Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013 Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013 Algoritmos y Estructuras de Datos III Primer cuatrimestre 2013 (bienvenidos!) Programa 1. Algoritmos: Definición de algoritmo. Máquina RAM.

Más detalles

Criptografía y Seguridad Computacional

Criptografía y Seguridad Computacional Criptografía y Seguridad Computacional 1. Introducción y Conceptos Básicos Fernando Krell Loy 2 de Marzo 2016 Fernando Krell Loy Criptografía y Seguridad Computacional 2 de Marzo 2016 0 / 13 Datos del

Más detalles

Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011

Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011 Algoritmos y Estructuras de Datos III Segundo cuatrimestre 2011 Programa 1. Algoritmos: Definición de algoritmo. Máquina RAM. Complejidad. Algoritmos de tiempo polinomial y no polinomial. Límite inferior.

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

UNIVERSIDAD NACIONAL DEL CALLAO

UNIVERSIDAD NACIONAL DEL CALLAO UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA UNIDAD DE INVESTIGACIÓN DE LA FACULTAD DE INGENIERÍA QUÍMICA INFORME FINAL DEL PROYECTO DE INVESTIGACIÓN MÉTODO DE PUNTO INTERIOR BARRERA

Más detalles

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco

Más detalles

NOMENCLATURA, NOTACIÓN Y SIMBOLOGÍA MATEMÁTICA

NOMENCLATURA, NOTACIÓN Y SIMBOLOGÍA MATEMÁTICA NOMENCLATURA, NOTACIÓN Y SIMBOLOGÍA MATEMÁTICA. Nomenclatura Es la terminología que utiliza símbolos y nombres para designar elementos y conceptos en las ciencias y en las humanidades. El lenguaje simbólico

Más detalles

EJERCICIOS RESUELTOS PROGRAMACIÓN III

EJERCICIOS RESUELTOS PROGRAMACIÓN III EJERCICIOS RESUELTOS PROGRAMACIÓN III Curso 2008 2009 Ejercicios resueltos de programación 3 Tema 3. Notación asintótica. Alumna: Alicia Sánchez Centro: UNED-Las Rozas (Madrid) El índice de los ejercicios

Más detalles

Modelo analítico de rendimiento

Modelo analítico de rendimiento AT5128 Arquitectura e Ingeniería de Comutadores II Modelo analítico de rendimiento Curso 2011-2012 AT5128 Arquitectura e Ingeniería de Comutadores II Índice Fuentes de overhead en rogramas aralelos. Métricas

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

1 Problemas Resueltos

1 Problemas Resueltos 1) Para un sistema de control de retroaliementación unitaria se conoce el diagrama de bode de la función de transferencia a lazo abierto, la cual se muestra en la Fig. 1.1. A partir esta información se

Más detalles

Complejidad de algoritmos recursivos

Complejidad de algoritmos recursivos Tema 3. Complejidad de algoritmos recursivos 1. INTRODUCCIÓN... 1 CLASIFICACIÓN DE FUNCIONES RECURSIVAS... 1 DISEÑO DE FUNCIONES RECURSIVAS... 2 2. VENTAJAS E INCONVENIENTES DE LA RECURSIVIDAD... 4 3.

Más detalles

PROGRAMACIÓN DIDÁCTICA

PROGRAMACIÓN DIDÁCTICA PROGRAMACIÓN DIDÁCTICA Materia Período FBPI Tramo II Ámbito Científico-Tecnológico Bloque I Números racionales, decimales y potencias. Créditos 3 (30 horas) Bloque II Proporcionalidad Créditos 2 (20 horas)

Más detalles

Algoritmos Secuenciales y Recursivos

Algoritmos Secuenciales y Recursivos Algoritmos Secuenciales y Recursivos 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/45 Análisis secuencial

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

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE

ESTIMACIÓN DE TIEMPO Y COSTO DE PRODUCTOS SOFTWARE Análisis y costo de algoritmos Algoritmos Un algoritmo es un conjunto de pasos claramente definidos que a partir de un cierta entrada (input) produce una determinada salida (output) Algoritmos y programas

Más detalles

Algoritmos de Ordenamiento

Algoritmos de Ordenamiento Algoritmos de Ordenamiento mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 12.04 Algoritmos de ordenamiento Entrada: secuencia de números. Salida: permutación

Más detalles

Para las ecuaciones diferenciales ordinarias no lineales no existen métodos generales.

Para las ecuaciones diferenciales ordinarias no lineales no existen métodos generales. Unidad IV: Sistemas continuos (continuación) Objetivo específico: Entender ampliamente el fenómeno del comportamiento de los modelos matemáticos para la resolución de problemas enfocados a las ecuaciones

Más detalles

Estructuras de Control

Estructuras de Control Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas

Más detalles

Arreglos. Algoritmos y Estructuras de Datos I. Arreglos en C++ Arreglos y listas

Arreglos. Algoritmos y Estructuras de Datos I. Arreglos en C++ Arreglos y listas Arreglos Algoritmos y Estructuras de Datos I Primer cuatrimestre 2007 Teórica de imperativo 3 Algoritmos de búsqueda secuencias de una cantidad fija de variables del mismo tipo se declaran con un nombre,,

Más detalles

Algoritmos: Análisis de Algoritmos

Algoritmos: Análisis de Algoritmos Ordenación por Inserción y Ordenación por Selección Reglas para calcular O Dept. de Computación, Universidade da Coruña alberto.valderruten@udc.es Ordenación por Inserción (1) procedimiento Ordenación

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 2. Análisis de la eficiencia Prof. Dr. P. Javier Herrera Contenido Introducción a la eficiencia computacional Cálculo básico de complejidades 2 Una leyenda ajedrecística

Más detalles

UNIVERSIDAD CATÓLICA SANTO TORIBIO DE MOGROVEJO VICERRECTORADO ACADÉMICO

UNIVERSIDAD CATÓLICA SANTO TORIBIO DE MOGROVEJO VICERRECTORADO ACADÉMICO Página 1 de 10 UNIVERSIDAD CATÓLICA SANTO TORIBIO DE MOGROVEJO VICERRECTORADO ACADÉMICO FACULTAD DE: ESCUELA PROFESIONAL DE: INGENIERÍA INGENIERÍA DE PLAN CURRICULAR: 2017 CARRERA PROFESIONAL: INGENIERÍA

Más detalles

ECONOMETRÍA II Prof.: Begoña Álvarez TEMA 1 INTRODUCCIÓN. Estimación por máxima verosimilitud y conceptos de teoría asintótica

ECONOMETRÍA II Prof.: Begoña Álvarez TEMA 1 INTRODUCCIÓN. Estimación por máxima verosimilitud y conceptos de teoría asintótica ECONOMETRÍA II Prof.: Begoña Álvarez 2007-2008 TEMA 1 INTRODUCCIÓN Estimación por máxima verosimilitud y conceptos de teoría asintótica 1. ESTIMACIÓN POR MÁXIMA VEROSIMILITUD (MAXIMUM LIKELIHOOD) La estimación

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

Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas

Diseño estructurado de algoritmos. Sesión 8: Estructuras Algorítmicas Diseño estructurado de algoritmos Sesión 8: Estructuras Algorítmicas Contextualización A qué crees se refiere el término estructura? Como recordaremos, un algoritmo puede ser aplicado en todo, con el único

Más detalles

Secretaría de Docencia Dirección de Estudios Profesionales

Secretaría de Docencia Dirección de Estudios Profesionales PROGRAMA DE ESTUDIOS POR COMPETENCIAS PROGRAMACIÓN AVANZADA I. IDENTIFICACIÓN DEL CURSO ORGANISMO ACADÉMICO: Facultad de Ingeniería PROGRAMA EDUCATIVO: Ingeniería en Computación ÁREA DE DOCENCIA: Programación

Más detalles

Ingeniería del Software. Índice

Ingeniería del Software. Índice Índice Introducción a los TADs Medida de la eficiencia de las implementaciones Estructuras lineales: pilas, colas, listas Tablas asociativas: hash Árboles Grafos 1 Introducción a los TADs Los Tipos Abstractos

Más detalles

Definición Una hipótesis es una afirmación acerca de un parámetro.

Definición Una hipótesis es una afirmación acerca de un parámetro. Capítulo 8 Prueba de hipótesis Existen dos áreas de interés en el proceso de inferencia estadística: la estimación puntual y las pruebas de hipótesis. En este capítulo se presentan algunos métodos para

Más detalles

Generadores pseudoaleatorios

Generadores pseudoaleatorios Generadores pseudoaleatorios Elvira Mayordomo Universidad de Zaragoza 30 de noviembre de 2015 Elvira Mayordomo (Universidad de Zaragoza) Generadores pseudoaleatorios 30 de noviembre de 2015 1 / 25 Contenido

Más detalles

Grado en Ingeniería Informática

Grado en Ingeniería Informática Grado en Ingeniería Informática CENTRO RESPONSABLE: FACULTAD DE CIENCIAS RAMA: Ingeniería y Arquitectura CRÉDITOS: 240,00 DISTRIBUCIÓN DE CRÉDITOS DE LA TITULACIÓN FORMACIÓN BÁSICA: 72,00 OBLIGATORIOS:

Más detalles

Estructuras Administrativas

Estructuras Administrativas Estructuras Administrativas ESTRUCTURAS ADMINISTRATIVAS 1 Sesión No. 7 Nombre: Diagramas de Flujo Objetivo: El estudiante desarrollará la propuesta de un diagrama de flujo para la especificación de la

Más detalles

Búsqueda Heurística II

Búsqueda Heurística II Búsqueda Heurística II Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Algoritmos Algoritmo: procedimiento computacional que termina si en algún caso no termina, hay que especificarlo Características:

Más detalles

I. Complejidad de Problemas

I. Complejidad de Problemas I. Complejidad de Problemas 1. Complejidad de Problemas Tópicos Clasificación de Problemas Clasificación por su Naturaleza Clasificación por su Tratabilidad Clasificación por el tipo de Respuesta 1.1 Clasificación

Más detalles

Marcel Goic

Marcel Goic IN5602 Marketing II Modelos de Comportamiento: Estimación y Heterogeneidad Marcel Goic (mgoic@dii.uchile.cl) Semestre Otoño 2012 1 Ejemplo Proyección de Retención de Clientes 2 Motivación Año #Clientes

Más detalles

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA VICERRECTORADO ACADÉMICO ARAGUA VENEZUELA

REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD BICENTENARIA DE ARAGUA VICERRECTORADO ACADÉMICO ARAGUA VENEZUELA FACULTAD: CIENCIAS ADMINISTRATIVAS Y SOCIALES. ESCUELAS: CONTADURIA PÚBLICA ASIGNATURA: MATEMATICA FINANCIERA CODIGO: MAT-544 UNIDADES CREDITO: 4 U.C. DENSIDAD HORARIA: H.T.: 3 H.P.: 2 T.H.: 5 PRERREQUISITOS:

Más detalles

T I T U L O I N O R M A S G E N E R A L E S 1/21

T I T U L O I N O R M A S G E N E R A L E S 1/21 B O R R A D O R D E A N T E P R O Y E C T O D E L R E G L A M E N T O D E F U N C I O N A M I E N T O D E L D E P A R T A M E N T O D E F I S I O L O G I A, A N A T O M I A Y B I O L O G I A C E L U L

Más detalles

Planificaciones Algoritmos y Programación II. Docente responsable: CALVO PATRICIA MABEL. 1 de 6

Planificaciones Algoritmos y Programación II. Docente responsable: CALVO PATRICIA MABEL. 1 de 6 Planificaciones 7504 - Algoritmos y Programación II Docente responsable: CALVO PATRICIA MABEL 1 de 6 OBJETIVOS Que el alumno maneje de modo correcto el diseño de un TDA de acuerdo a las exigencias de una

Más detalles

II

II II III IV 5 6 7 8 9 I. Considere los siguientes conjuntos y con ellos realice las siguientes operaciones y sus respectivos diagramas de Venn: A x 3 x 6 B x 1 x 10 C x x es par primo x 10 x 10 i). A B.

Más detalles

Ordenamiento (Sorting)

Ordenamiento (Sorting) Ordenamiento (Sorting) El problema del ordenamiento Ordenar: arreglo[α] arreglo[α], donde α es un tipo tal que está definida la relación < α Uno de los problemas más clásicos, útiles y estudiados de la

Más detalles

Contenidos mínimos del área de matemáticas 1º ESO

Contenidos mínimos del área de matemáticas 1º ESO 1º ESO Unidad didáctica nº1: Los números naturales. Divisibilidad. Operaciones con números naturales: suma, resta, multiplicación y Calcular múltiplos y divisores de un número. Descomposición factorial

Más detalles

Metodología para la solución de problemas programables

Metodología para la solución de problemas programables Metodología para la solución de problemas programables Nosotros efectuamos día a día una serie de pasos, acciones y procedimientos para solucionar problema y esto es de forma natural y casi inconscientemente

Más detalles

HORARIOS SISTEMAS

HORARIOS SISTEMAS M.C.O Página 1 01/09/2017 SEMESTRE II DIURNO HORARIOS SISTEMAS 2017-2 HORARIO DIURNO - SEGUNDO SEMESTRE MATRICULADOS = TERMINARON = 17 INICIAN = HERRAMIENTAS GRAFICAS DE SOFTWARE (2) METODOLOGIA DISEÑO

Más detalles

ALGORITMOS Y ESTRUCTURAS DE DATOS

ALGORITMOS Y ESTRUCTURAS DE DATOS ALGORITMOS Y ESTRUCTURAS DE DATOS Año 2017 Carrera/ Plan: Licenciatura en Informática Plan 2003-07/2012/2015 Licenciatura en Sistemas Plan 2003-07/2012/2015 Analista Programador Universitario Plan 2007/2015

Más detalles

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA I. DATOS DE IDENTIFICACION 1. Unidad Académica: Facultad de Ciencias 2. Programa (s) de estudio: Licenciatura

Más detalles

Grado en Matemáticas

Grado en Matemáticas Grado en Matemáticas CENTRO RESPONSABLE: FACULTAD DE CIENCIAS RAMA: Ciencias CRÉDITOS: 240,00 DISTRIBUCIÓN DE CRÉDITOS DE LA TITULACIÓN FORMACIÓN BÁSICA: 60,00 OBLIGATORIOS: 120,00 OPTATIVAS: 48,00 TRABAJO

Más detalles

Diseño e implementación de una base de datos para recogida y análisis de datos de actividad física provenientes de dispositivos wearables

Diseño e implementación de una base de datos para recogida y análisis de datos de actividad física provenientes de dispositivos wearables Proyecto Big Data de salud Comunidad Europea Diseño e implementación de una base de datos para recogida y análisis de datos de actividad física provenientes de dispositivos wearables Autor: Mari Cruz López

Más detalles

1. Ecuaciones de recurrencia

1. Ecuaciones de recurrencia PRÁCTICA NO 3. ALGORITMOS RECURRENTES 1. Ecuaciones de recurrencia Una ecuación de recurrencia es una expresión finita que define explícitamente una sucesión, en el cual un elemento de la sucesión se determina

Más detalles

Departamento de Tecnologías de la Información. Tema 7. Complejidad temporal. Ciencias de la Computación e Inteligencia Artificial

Departamento de Tecnologías de la Información. Tema 7. Complejidad temporal. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 7 Complejidad temporal Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Medidas de complejidad 7.2 La clase P 7.3 La clase NP 7.4 NP-Completitud

Más detalles

Diplomado en Estadística Aplicada

Diplomado en Estadística Aplicada Diplomado en Estadística Aplicada Con el propósito de mejorar las habilidades para la toma de decisiones, la División de Estudios de Posgrado de la Facultad de Economía ha conjuntado a profesores con especialidad

Más detalles

Posibles trabajos HIA

Posibles trabajos HIA Posibles trabajos HIA Posibles trabajos Comparar otras herramientas de Minería de Datos con Weka Estudiar la influencia del ruido en bagging y boosting Estudiar la influencia del parámetro de poda en J48

Más detalles

Calendario Lenguaje Matemática Inglés Hist. Cs.Soc Cs.Nat (1º -8º Básico) 17 de Junio 23 de Junio 28 de Junio 30 de Junio 4 de Julio

Calendario Lenguaje Matemática Inglés Hist. Cs.Soc Cs.Nat (1º -8º Básico) 17 de Junio 23 de Junio 28 de Junio 30 de Junio 4 de Julio Curso: 7º Básico Nivel de Séptimos del Primer Semestre (coef. 2), de según fecha indicada para cada sector de Hist. Cs.Soc Cs.Nat (1º -8º Básico) 17 de Junio 23 de Junio 30 de Junio 4 de Julio Los Sectores

Más detalles

Análisis y Diseño de Algoritmos

Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos Ordenamiento en Tiempo Lineal DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE Ordenamiento por Comparación (Comparison Sorts) Tiempo de ejecución HeapSort y

Más detalles

como les va con las practicas?

como les va con las practicas? como les va con las practicas? Problemas NP-completos y Estructuras de datos básicas (representación de datos) mat-151 1 Una maquina de Turing Aceptation state Una maquina de Turing Maquina de Turing Determinística,

Más detalles