1 Análisis de algoritmos Generalidades Agustín J. González 1er. Sem. 2003.

Slides:



Advertisements
Presentaciones similares
Método de ordenación por inserción
Advertisements

Complejidad Computacional
Complejidad Computacional
Complejidad Computacional
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Bioestadística,2006.
Funciones y sus Propiedades Básicas
PRESENTACION I INTRODUCCION A LA HIDROLOGIA PROBABILISTICA
Complejidad de Algoritmos
Diseño y análisis de algoritmos
¿ Que es la complejidad de un algoritmo ?
Unidad 4: Análisis de algoritmos (parte II)
CS1101X Programming Methodology
ALGORITMOS 2 DIGITALES II
Medidas de Desempeño Teoría de Colas
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
Razón de Cambio Promedio Razón de Cambio instantánea (la derivada)
APLICACIONES DE PILAS Estructuras de Datos.
Medición y rendimientos de Algoritmos
UPC TEMA : MATRICES TÓPICOS DE MÁTEMATICA 1 MA112 EPE-SISTEMAS
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Análisis de Algoritmos
Ordenamiento, Heapsort y Colas de prioridad
ANALISIS MATEMÁTICO PARA ECONOMISTAS IV
Análisis de Algoritmos
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )
Single-Source Shortest Paths “Camino más corto desde/hacia una fuente”
Análisis de Algoritmos
Introducción al análisis de algoritmos
Pertinencia de la enseñanza del cómputo paralelo en el currículo de las ingenierías. Proyecto PAPIME PE
Búsqueda. Búsqueda Secuencial Es el método de búsqueda más sencillo En un arreglo o lista ligada consiste en ir visitando cada uno de sus elementos y.
CC3001 Algoritmos y Estructuras de Datos
@ Angel Prieto BenitoMatemáticas Aplicadas CS I1 DISTRIBUCIÓN NORMAL Tema 15.
Divide y vencerás 1. Método general.
Coordinación de Ciencias Computacionales - INAOE (Mini) Cursos Propedéuticos 2012 Ciencias Computacionales INAOE Dr. Hugo Jair Escalante
1 Algoritmos Avaros (Greedy Algorithms) Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
Teoría – Alejandro Gonzalez
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
4.  Métodos matemáticos.
1 Algoritmos Avaros (Greedy Algorithms) Agustín J. González ELO-320: Estructura de Datos y Algoritmos 1er. Sem
Medianas y Estadísticas de Orden
1 Quicksort Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem
Agustín J. González ELO320: Estructura de Datos y Algoritmos
ELO3201 Análisis de Algoritmos (Cont.) Agustín J. González ELO320 1º sem 2004.
1 Ordenamiento y estadísticas de orden Agustín J. González ELO 320: Estructura de Datos y Algoritmos.
1 Ordenamiento en tiempo lineal y Estadísticas de orden Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem 2002.
Algoritmos de Ordenamiento y Complejidad
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 2: Orden de algoritmos.
Estructuras de Repetición (Hacer-Mientras)
1 Tablas HASH Agustín J. González ELO320: Estructura de Datos y Algoritmos.
1 Quicksort Agustín J. González ELO320: Estructura de Datos y Algoritmos 1er. Sem
Análisis de Algoritmos
ELO3201 Análisis de Algoritmos (cont.) Agustín J. González ELO320 1º sem 2002.
Agustín J. González ELO-320: Estructura de Datos Y Algoritmos
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 2: Divide y Vencerás Unidad 1: Nociones básicas.
Análisis de algoritmos Generalidades
Estructuras de Repetición (Hacer-Mientras)
Oscar F. Bedoya L. Fundamentos de análisis y diseño de algoritmos.
Algoritmo. Algoritmo Algoritmo Al-Khowarizmi nunca pensó que su nombre, seria el origen de palabras mas importantes que el mismo: Álgebra. Logaritmo.
Diseño y análisis de algoritmos Análisis de Algoritmos II.
tabla // tabla sumar del 7, del 0 al 9
RIESGO, RENDIMIENTO Y VALOR
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
L ENGUAJE DE E SPECIFICACIÓN Algoritmos y Estructuras de Datos I Especificación – Práctica 2 AEDI Especificación – Práctica 2 1.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
Lenguaje de Programación Computación y Programación
FUNCIÓN DE PROBABILIDADES. ENTRE PROBABILIDADES Y FUNCIÓN HAY UNA ESTRECHA RELACIÓN…
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Transcripción de la presentación:

1 Análisis de algoritmos Generalidades Agustín J. González 1er. Sem. 2003

2 Análisis de Algoritmos Algoritmo InsertionSort(int A[], int n) { int j, i, key; for (j=1; j<n; j++) { key = A[j]; /* inserta A[j] en la secuencia ordenada A[0...j-1] */ i = j-1; while( i>=0 && A[i] > key ){ A[i+1] = A[i]; i --; } A[i+1]=key; } Costo c0 c1 c2 0 c4 c5 c6 c7 0 c8 0 Veces 1 n n-1 Suma desde j=1 hasta n-1 de tj Suma desde j=1 hasta n-1 de (tj - 1) n-1 1 Análisis de algoritmos consiste en predecir los recursos que el algoritmo requiere 1 n n-1

3 Costo de Insertion-Sort ¿Cuál es el mejor caso? El arreglo está ya ordenado. ¿cuánto tiempo toma? ¿Cuál es el peor caso? El arreglo está ordenado pero en orden inverso.

4 Casos: peor, promedio, mejor Peor caso de tiempo de ejecución es el límite superior para el tiempo de ejecución considerando cualquier entrada. El algoritmo no supera este valor en ningún caso. El mejor caso tiene definición análoga a la de peor caso. Caso promedio: la idea es obtener el valor esperado para el tiempo. Normalmente se obtiene suponiendo todas las entradas posibles con igual probabilidad.

5 Crecimiento de Funciones Normalmente estamos interesados en el comportamiento de los algoritmos para grandes entradas (muchos datos de entrada). Notación asintótica: para una función dada g(n) denotamos por  (g(n)) al conjunto de funciones: Aún cuando  (g(n)) es un conjunto, se acostumbra a notar f(n) =  (g(n)) Queremos de cir que f(n) pertenece a  (g(n)) Ejemplo: demostrar que f(n)=an 2 +bn+c es  (n 2 ) con a,b,c>0

6 Notación O, , o, 

7 Analogía que puede ayudar f(n) =  (g(n)) ~ a > b f(n) =  (g(n)) ~ a  b f(n) =  (g(n)) ~ a = b f(n) = O(g(n)) ~ a  b f(n) = o(g(n)) ~ a < b g(n)  (g(n)) O(g(n)) o(g(n))  (g(n))  (g(n))

8 Ejercicio Probar que: f(n)=  (g(n)) y g(n)=  (h(n))  f(n)=  (h(n)) Si f(n)>0 y g(n)>0, probar que máx(f(n),g(n)) =  (f(n)+g(n)) Ordenar las siguientes funciones por orden de crecimiento