SlideShare a Scribd company logo
1 of 35
Universidad de Caldas Facultad de Ingenieria A A nalisis de lgoritmos
INPUT:  Una secuencia de numeros <a 1 ,a 2 ,a 3 ,...,a n > ,[object Object],[object Object],[object Object],[object Object],[object Object],Ordenamiento  x Insercion
Ordenamiento x Insercion  9 7 6 15 16 5 10 11 9 7 6 15 16 5 10 11 9 7 6 15 16 5 10 11 7 9 6 15 16 5 10 11 7 9 6 15 16 5 10 11 7 9 6 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 5 6 7 9 15 16 10 11 5 6 7 9 15 16 10 11 5 6 7 9 15 16 10 11 5 6 7 9 10 15 16 11 5 6 7 9 10 15 16 11 5 6 7 9 10 15 16 11 5 6 7 9 10 11 15 16 5 6 7 9 10 11 15 16
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4 3 5 2 i j i=2  1 3 x A i 3 5 2 i j 1 3 i 4 j = i-1 = 1 j = j-1 = 0 Exit while because j<0
3 5 2 j i=3 1 5 x A i 4 Exit while because x >A[i] j = i-1 = 2
3 2 5 4 j i=4  1 2 i 3 5 j 1 2 i 4 j = i-1 = 3 j = j-1 = 2 5
3 4 4 j 1 2 i 3 j 1 2 i 4 j = j-1 =1 j = j-1 = 0 5 5 2
2 1 4 3 j i=5  5 1 i 2 4 j 1 i 3 j = i-1 = 4 j = j-1 =3 5 5
3 4 4 j 1 2 i 3 j 1 2 i 4 j = j-1 =1 j = j-1 = 0 5 5 2
2 4 j 1 i 3 j = j-1 =2 4 5 2 3 j 1 i 3 j = j-1 =2 4 5 1 3 1 2 4 5
Correctitud ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Loop Invariante para Insertion-sort   En el principio de cada iteracion del loop for el sub-arreglo A[1,..,i-1] consiste de los  elementos original/ in A[1,..,i-1] pero en orden.
Antes de empezar el loop  i=2,  el sub-arreglo A[1,..,i-1] consiste unica/ del A[1], el cual es de hecho el elemento original A[1]. Este sub-arreglo es ordenado (trivial/, por supuesto). INICIALIZACION
x 1 x 2 x 3 ... i j ... x n Antes de empezar la iteracion i=2 max{x 1  ,   x 2  } i j ... x n min{x 1  ,   x 2  } MANTENIMIENTO Antes de empezar la iteracion i=3
i j ... x n x i 1 max{x 1  ,   x 2  } i j ... x n min{x 1  ,   x 2  } x 3 x i 2 x i 3 {x i 1  ,x i 2  ,x i 3  }= {x 1  ,x 2  ,x 3   } x i 1 < x i 2  <   x i 3 Antes de empezar la iteracion i=3 Antes de empezal la iteracion i=4
i j i j {x i 1  ,x i 2  ,...,x i k  }= {x 1  ,x 2  ,...,x 3   } x i 1 < x i 2  <...<   x i 3 Antes de empezar la iteracion i=k Antes de empezar la iteracion   i=k+1 ... x n x i 1 x i 2 x i 3 ... x i k-1 x k ... x n x i 1 x i 2 x i 3 ... x i k-1 x i k
En la terminacion i=n+1 el sub-arreglo A[1,..,i-1] consiste de los elementos en el arreglo original A[1,..,n] pero de manaera ordenada. Por esto el algoritmo es correcto. TERMINACION
Cantidad de trabajo realizado ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
Como analizamos el tiempo de ejecución de un algoritmo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tiempo de Ejecucion:  Sobre una entrada particular es el numero de operaciones primitivas (pasos) ejecutados . •  Queremos definir los pasos independientes de la maquina . •  Suponga que c/linea de pseudocodigo requiere una cantidad constante de tiempo. •  Una  linea puede tomar una cantidad diferente de tiempo que otra,  pero cada  ejecucion de la linea i toma la misma cantidad de tiempo  ci  . •  Esto es asumiendo que la linea consiste unica/ de operaciones primitivas  •  Si la linea es una llamada a subrutina, entonces la llamada actual toma un tiempo constante,  pero la ejecucion de la subrutina siendo llamada  podria no. •  Si la linea especifica operaciones diferentes a las primitivas entonces podria tomar mas que un tiempo constante. Ej: “ordene los puntos por coordenadas x.”
Analisis del ordenamiento  x Insercion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],El tiempo de ejecucion del  algoritmo es
complejidad en tiempo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
El tiempo de ejecucion del algoritmo es la suma de los tiempos de ejecucion para c/sentencia ejecutada.Para computar T(n), el tiempo de ejecucion del algoritmo, nosotros sumamos los productos de COSTO y VECES obteniendo: El tiempo de ejecucion depende de los valores de  t j  . Estos varian de acuerdo con la entrada.
Complejidad de tiempo en el mejor caso  t b (n)   En este caso  t i  = 1  entonces  t b (n)  =  c 1 n + (c 2 +c 4 +c 8  ) n-1 +  c 5    i=2,..,n   1  +  (c 6 +c 7 )   i=2,..,n   0 = (c 1 +c 2 +c 4 +c 8 +c 5  ) n - (c 2 +c 4 +c 8 +c 5  )  = an+b  =     (n).  Puede expresar  T (n) como   an + b para  constantes  a  y  b  (que dependen del costo de la sentencia  ci  )⇒  T (n) es una funcion   lineal de   n . Complejidad de tiempo en el peor caso   t w (n)   En este caso  t i  = i   entonces  t w (n)  =  c 1 n + (c 2 +c 4 +c 8  ) n-1 +  c 5    i=2,..,n   i +  (c 6 +c 7 )   i=2,..,n   (i-1) = an 2 +bn+c =     ( n 2 ).
Complejidad de tiempo en el caso Promedio t a (n)   En este caso promedio  t i  =  ( i+1 )/2 then  t w (n)  =  c 1 n + (c 2 +c 4 +c 8  ) n-1 +  c 5    i=2,..,n   (i+1)/2 +  (c 6 +c 7 )   i=2,..,n   i/2 = an 2 +bn+c =     ( n 2 ).  ,[object Object],[object Object],[object Object],[object Object]
Analisis del peor caso y del caso promedio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Orden de crecimiento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Porque hay que buscar la eficiencia Tendra sentido invertir tiempo intentando diseñar algoritmos mas eficientes sabiendo que las computadoras se vuelven mas y mas rápidas? Supongamos que que para resolver un problema disponemos de  de un algoritmo exponencial y de una computadora que puede ejecutar este algoritmo para casos de tamaño n en 10 -4  x 2 n  segundos. Es decir el programa resuelve un ejemplar de tamaño 10 en aprox. un décimo de seg., uno de tamaño 20 en aprox. Dos minutos y para resolver un ejemplar de tamaño 30 no bastará todo un dia de tiempo de cálculo.  Suponiendo que fuera posible hacer funcionar un año seguido la máquina se podría llegar a resolver un ejemplar de tamaño 38. Supongamos que podemos comprar una computadora 100 veces mas rápida que la anterior. Ahora con el mismo algoritmo podemos resolver  un ejemplar de tamaño n en _________seg. No mucho, pero cuando determine que la nueva maquina en un año no podrá resolver nisiquiera un ejemplar de tamaño 45. En genral si antes se podía resolver un ejemplar de tamaño n en un tiempo determinado, la nueva máquina resolverá ejemplares de tamaño como máximo ___________ en el mismo tiempo.
[object Object],[object Object]
CUANDO QUEDA ESPECIFICADO UN ALGORITMO ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ejercicio ,[object Object],[object Object]

More Related Content

What's hot

Análisis de complejidad introducción notación big o
Análisis de complejidad   introducción notación big oAnálisis de complejidad   introducción notación big o
Análisis de complejidad introducción notación big oUVM
 
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...Diego Hernan Marciano
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadCarlos A. Iglesias
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesMarco Garay
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividadrehoscript
 
Recursividad
RecursividadRecursividad
Recursividadbetzy
 
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 maestroFrancisco Lambert Obediente
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Velmuz Buzz
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++LenHugo
 

What's hot (20)

Análisis de complejidad introducción notación big o
Análisis de complejidad   introducción notación big oAnálisis de complejidad   introducción notación big o
Análisis de complejidad introducción notación big o
 
Informe
InformeInforme
Informe
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
Análisis de colisiones de hashes sha1 y resolviendo un problema de hashing re...
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Divide y Vencerás
Divide y VencerásDivide y Vencerás
Divide y Vencerás
 
Recursividad
RecursividadRecursividad
Recursividad
 
Tema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidadTema 2 eficiencia y complejidad
Tema 2 eficiencia y complejidad
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Interpolaion c++
Interpolaion c++Interpolaion c++
Interpolaion c++
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
Tema ii integrales uney
Tema ii integrales uneyTema ii integrales uney
Tema ii integrales uney
 
Divide y Venceras
Divide y VencerasDivide y Venceras
Divide y Venceras
 
Unidad 4 est. dat. recursividad
Unidad 4  est. dat. recursividadUnidad 4  est. dat. recursividad
Unidad 4 est. dat. recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Solucion taller 1 de control 2
Solucion taller 1 de control 2Solucion taller 1 de control 2
Solucion taller 1 de control 2
 
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
 
Tema4
Tema4Tema4
Tema4
 
Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2Analisis de algoritmos tarea 2
Analisis de algoritmos tarea 2
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 

Viewers also liked

Matriz reunión departamentales 09 08-13
Matriz reunión departamentales 09 08-13Matriz reunión departamentales 09 08-13
Matriz reunión departamentales 09 08-13Adalberto
 
Famous Movie Couples
Famous Movie CouplesFamous Movie Couples
Famous Movie Couplesmaditabalnco
 
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...Inria
 
À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?Votre Assistante
 
Les règles typographiques #1
Les règles typographiques #1Les règles typographiques #1
Les règles typographiques #1Votre Assistante
 
Pres lia 27 9 2013
Pres lia 27 9 2013Pres lia 27 9 2013
Pres lia 27 9 2013Oscar Ayala
 
Diez Prieto Bloque 5
Diez Prieto Bloque 5Diez Prieto Bloque 5
Diez Prieto Bloque 5juegayaprende
 
20080506 Avances Y Retos Para El Futuro Opt
20080506 Avances Y Retos Para El Futuro Opt20080506 Avances Y Retos Para El Futuro Opt
20080506 Avances Y Retos Para El Futuro OptAdalberto
 
Минздрав утвердил порядок регулярных медицинских осмотров
Минздрав утвердил порядок регулярных медицинских осмотровМинздрав утвердил порядок регулярных медицинских осмотров
Минздрав утвердил порядок регулярных медицинских осмотровPiter Lokshin
 
12 violencia en los centros escolares asesores pedagógicos
12 violencia en los centros escolares asesores pedagógicos12 violencia en los centros escolares asesores pedagógicos
12 violencia en los centros escolares asesores pedagógicosAdalberto
 
Poa entregado a pulacho 2010
Poa  entregado a pulacho 2010Poa  entregado a pulacho 2010
Poa entregado a pulacho 2010Adalberto
 
Butlletí n.50 Acció de Govern
Butlletí n.50 Acció de GovernButlletí n.50 Acció de Govern
Butlletí n.50 Acció de Governsocialistes_ cat
 
Evaluac ión 5
Evaluac ión 5Evaluac ión 5
Evaluac ión 5Adalberto
 
Revista humanismo
Revista humanismoRevista humanismo
Revista humanismoAdalberto
 

Viewers also liked (20)

Tropical top
Tropical topTropical top
Tropical top
 
Matriz reunión departamentales 09 08-13
Matriz reunión departamentales 09 08-13Matriz reunión departamentales 09 08-13
Matriz reunión departamentales 09 08-13
 
Famous Movie Couples
Famous Movie CouplesFamous Movie Couples
Famous Movie Couples
 
Quesreppol sne
Quesreppol sneQuesreppol sne
Quesreppol sne
 
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
Inria - Extrait du ctalogue logiciels technologies du web et de la mobilité a...
 
À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?À quoi servent les relations entre les tables Access et comment les créer ?
À quoi servent les relations entre les tables Access et comment les créer ?
 
Les règles typographiques #1
Les règles typographiques #1Les règles typographiques #1
Les règles typographiques #1
 
Pres lia 27 9 2013
Pres lia 27 9 2013Pres lia 27 9 2013
Pres lia 27 9 2013
 
Agence Summer
Agence SummerAgence Summer
Agence Summer
 
Rene Descartes
Rene DescartesRene Descartes
Rene Descartes
 
Diez Prieto Bloque 5
Diez Prieto Bloque 5Diez Prieto Bloque 5
Diez Prieto Bloque 5
 
20080506 Avances Y Retos Para El Futuro Opt
20080506 Avances Y Retos Para El Futuro Opt20080506 Avances Y Retos Para El Futuro Opt
20080506 Avances Y Retos Para El Futuro Opt
 
Минздрав утвердил порядок регулярных медицинских осмотров
Минздрав утвердил порядок регулярных медицинских осмотровМинздрав утвердил порядок регулярных медицинских осмотров
Минздрав утвердил порядок регулярных медицинских осмотров
 
12 violencia en los centros escolares asesores pedagógicos
12 violencia en los centros escolares asesores pedagógicos12 violencia en los centros escolares asesores pedagógicos
12 violencia en los centros escolares asesores pedagógicos
 
Poa entregado a pulacho 2010
Poa  entregado a pulacho 2010Poa  entregado a pulacho 2010
Poa entregado a pulacho 2010
 
Butlletí n.50 Acció de Govern
Butlletí n.50 Acció de GovernButlletí n.50 Acció de Govern
Butlletí n.50 Acció de Govern
 
Etre Chats
Etre ChatsEtre Chats
Etre Chats
 
Evaluac ión 5
Evaluac ión 5Evaluac ión 5
Evaluac ión 5
 
Revista humanismo
Revista humanismoRevista humanismo
Revista humanismo
 
Conventions 2014 2018
Conventions 2014 2018Conventions 2014 2018
Conventions 2014 2018
 

Similar to Análisis de algoritmos ordenamiento inserción

Similar to Análisis de algoritmos ordenamiento inserción (20)

ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Jflambert lyada - ayudantia matematicas discretas
Jflambert   lyada - ayudantia matematicas discretasJflambert   lyada - ayudantia matematicas discretas
Jflambert lyada - ayudantia matematicas discretas
 
Notación Asintótica
Notación AsintóticaNotación Asintótica
Notación Asintótica
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
11 estructuras de repeticion-tema11
11 estructuras de repeticion-tema1111 estructuras de repeticion-tema11
11 estructuras de repeticion-tema11
 
Analisis de algoritmos
Analisis de algoritmosAnalisis de algoritmos
Analisis de algoritmos
 
05 - Analisis de Algoritmos.pptx
05 - Analisis de Algoritmos.pptx05 - Analisis de Algoritmos.pptx
05 - Analisis de Algoritmos.pptx
 
dqwrwer
dqwrwerdqwrwer
dqwrwer
 
Métodos Directos
Métodos DirectosMétodos Directos
Métodos Directos
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
Tema4 programación generica
Tema4   programación genericaTema4   programación generica
Tema4 programación generica
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
 
Módulo 3
Módulo 3Módulo 3
Módulo 3
 
Algoritmos de ordeamiento
Algoritmos de ordeamientoAlgoritmos de ordeamiento
Algoritmos de ordeamiento
 
Algoritmos de ordenación
Algoritmos de ordenaciónAlgoritmos de ordenación
Algoritmos de ordenación
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Complejidad
ComplejidadComplejidad
Complejidad
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Actividad integradora 2
Actividad integradora 2Actividad integradora 2
Actividad integradora 2
 

More from luzenith_g

Formacion y crecimiento
Formacion y crecimientoFormacion y crecimiento
Formacion y crecimientoluzenith_g
 
Formacion y crecimiento
Formacion y crecimientoFormacion y crecimiento
Formacion y crecimientoluzenith_g
 
Carácterísticas técnicas de las wikis
Carácterísticas técnicas de las wikisCarácterísticas técnicas de las wikis
Carácterísticas técnicas de las wikisluzenith_g
 
Ejercicios Ada
Ejercicios AdaEjercicios Ada
Ejercicios Adaluzenith_g
 
Ejercicios Ada
Ejercicios AdaEjercicios Ada
Ejercicios Adaluzenith_g
 
Proyecto Unal2009 2
Proyecto Unal2009 2Proyecto Unal2009 2
Proyecto Unal2009 2luzenith_g
 
Taller3 Programacion Ii
Taller3 Programacion IiTaller3 Programacion Ii
Taller3 Programacion Iiluzenith_g
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)luzenith_g
 
Algoritmos Greedy
Algoritmos GreedyAlgoritmos Greedy
Algoritmos Greedyluzenith_g
 
Clase3 Notacion
Clase3 NotacionClase3 Notacion
Clase3 Notacionluzenith_g
 
Introducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosIntroducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosluzenith_g
 
Como construir un DSS
Como construir un DSSComo construir un DSS
Como construir un DSSluzenith_g
 
State Space Search(2)
State Space Search(2)State Space Search(2)
State Space Search(2)luzenith_g
 
DSS:Conceptos, metodologias y Tecnologias
DSS:Conceptos, metodologias y TecnologiasDSS:Conceptos, metodologias y Tecnologias
DSS:Conceptos, metodologias y Tecnologiasluzenith_g
 
Soporte a las Decisiones Computarizado
Soporte a las Decisiones ComputarizadoSoporte a las Decisiones Computarizado
Soporte a las Decisiones Computarizadoluzenith_g
 
Decision Support Systems
Decision Support SystemsDecision Support Systems
Decision Support Systemsluzenith_g
 

More from luzenith_g (20)

Formacion y crecimiento
Formacion y crecimientoFormacion y crecimiento
Formacion y crecimiento
 
Formacion y crecimiento
Formacion y crecimientoFormacion y crecimiento
Formacion y crecimiento
 
Carácterísticas técnicas de las wikis
Carácterísticas técnicas de las wikisCarácterísticas técnicas de las wikis
Carácterísticas técnicas de las wikis
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Alg1
Alg1Alg1
Alg1
 
Ejercicios Ada
Ejercicios AdaEjercicios Ada
Ejercicios Ada
 
Ejercicios Ada
Ejercicios AdaEjercicios Ada
Ejercicios Ada
 
Proyecto Unal2009 2
Proyecto Unal2009 2Proyecto Unal2009 2
Proyecto Unal2009 2
 
Taller3 Programacion Ii
Taller3 Programacion IiTaller3 Programacion Ii
Taller3 Programacion Ii
 
Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)Algoritmos Voraces (Greedy)
Algoritmos Voraces (Greedy)
 
Algoritmos Greedy
Algoritmos GreedyAlgoritmos Greedy
Algoritmos Greedy
 
Resumen
ResumenResumen
Resumen
 
Clase3 Notacion
Clase3 NotacionClase3 Notacion
Clase3 Notacion
 
Introducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosIntroducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmos
 
Como construir un DSS
Como construir un DSSComo construir un DSS
Como construir un DSS
 
Mergesort
MergesortMergesort
Mergesort
 
State Space Search(2)
State Space Search(2)State Space Search(2)
State Space Search(2)
 
DSS:Conceptos, metodologias y Tecnologias
DSS:Conceptos, metodologias y TecnologiasDSS:Conceptos, metodologias y Tecnologias
DSS:Conceptos, metodologias y Tecnologias
 
Soporte a las Decisiones Computarizado
Soporte a las Decisiones ComputarizadoSoporte a las Decisiones Computarizado
Soporte a las Decisiones Computarizado
 
Decision Support Systems
Decision Support SystemsDecision Support Systems
Decision Support Systems
 

Recently uploaded

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 

Recently uploaded (20)

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 

Análisis de algoritmos ordenamiento inserción

  • 1. Universidad de Caldas Facultad de Ingenieria A A nalisis de lgoritmos
  • 2.
  • 3. Ordenamiento x Insercion 9 7 6 15 16 5 10 11 9 7 6 15 16 5 10 11 9 7 6 15 16 5 10 11 7 9 6 15 16 5 10 11 7 9 6 15 16 5 10 11 7 9 6 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 6 7 9 15 16 5 10 11 5 6 7 9 15 16 10 11 5 6 7 9 15 16 10 11 5 6 7 9 15 16 10 11 5 6 7 9 10 15 16 11 5 6 7 9 10 15 16 11 5 6 7 9 10 15 16 11 5 6 7 9 10 11 15 16 5 6 7 9 10 11 15 16
  • 4.
  • 5. 4 3 5 2 i j i=2 1 3 x A i 3 5 2 i j 1 3 i 4 j = i-1 = 1 j = j-1 = 0 Exit while because j<0
  • 6. 3 5 2 j i=3 1 5 x A i 4 Exit while because x >A[i] j = i-1 = 2
  • 7. 3 2 5 4 j i=4 1 2 i 3 5 j 1 2 i 4 j = i-1 = 3 j = j-1 = 2 5
  • 8. 3 4 4 j 1 2 i 3 j 1 2 i 4 j = j-1 =1 j = j-1 = 0 5 5 2
  • 9. 2 1 4 3 j i=5 5 1 i 2 4 j 1 i 3 j = i-1 = 4 j = j-1 =3 5 5
  • 10. 3 4 4 j 1 2 i 3 j 1 2 i 4 j = j-1 =1 j = j-1 = 0 5 5 2
  • 11. 2 4 j 1 i 3 j = j-1 =2 4 5 2 3 j 1 i 3 j = j-1 =2 4 5 1 3 1 2 4 5
  • 12.
  • 13.
  • 14. Loop Invariante para Insertion-sort En el principio de cada iteracion del loop for el sub-arreglo A[1,..,i-1] consiste de los elementos original/ in A[1,..,i-1] pero en orden.
  • 15. Antes de empezar el loop i=2, el sub-arreglo A[1,..,i-1] consiste unica/ del A[1], el cual es de hecho el elemento original A[1]. Este sub-arreglo es ordenado (trivial/, por supuesto). INICIALIZACION
  • 16. x 1 x 2 x 3 ... i j ... x n Antes de empezar la iteracion i=2 max{x 1 , x 2 } i j ... x n min{x 1 , x 2 } MANTENIMIENTO Antes de empezar la iteracion i=3
  • 17. i j ... x n x i 1 max{x 1 , x 2 } i j ... x n min{x 1 , x 2 } x 3 x i 2 x i 3 {x i 1 ,x i 2 ,x i 3 }= {x 1 ,x 2 ,x 3 } x i 1 < x i 2 < x i 3 Antes de empezar la iteracion i=3 Antes de empezal la iteracion i=4
  • 18. i j i j {x i 1 ,x i 2 ,...,x i k }= {x 1 ,x 2 ,...,x 3 } x i 1 < x i 2 <...< x i 3 Antes de empezar la iteracion i=k Antes de empezar la iteracion i=k+1 ... x n x i 1 x i 2 x i 3 ... x i k-1 x k ... x n x i 1 x i 2 x i 3 ... x i k-1 x i k
  • 19. En la terminacion i=n+1 el sub-arreglo A[1,..,i-1] consiste de los elementos en el arreglo original A[1,..,n] pero de manaera ordenada. Por esto el algoritmo es correcto. TERMINACION
  • 20.
  • 21.
  • 22.
  • 23. Tiempo de Ejecucion: Sobre una entrada particular es el numero de operaciones primitivas (pasos) ejecutados . • Queremos definir los pasos independientes de la maquina . • Suponga que c/linea de pseudocodigo requiere una cantidad constante de tiempo. • Una linea puede tomar una cantidad diferente de tiempo que otra, pero cada ejecucion de la linea i toma la misma cantidad de tiempo ci . • Esto es asumiendo que la linea consiste unica/ de operaciones primitivas • Si la linea es una llamada a subrutina, entonces la llamada actual toma un tiempo constante, pero la ejecucion de la subrutina siendo llamada podria no. • Si la linea especifica operaciones diferentes a las primitivas entonces podria tomar mas que un tiempo constante. Ej: “ordene los puntos por coordenadas x.”
  • 24.
  • 25.
  • 26. El tiempo de ejecucion del algoritmo es la suma de los tiempos de ejecucion para c/sentencia ejecutada.Para computar T(n), el tiempo de ejecucion del algoritmo, nosotros sumamos los productos de COSTO y VECES obteniendo: El tiempo de ejecucion depende de los valores de t j . Estos varian de acuerdo con la entrada.
  • 27. Complejidad de tiempo en el mejor caso t b (n) En este caso t i = 1 entonces t b (n) = c 1 n + (c 2 +c 4 +c 8 ) n-1 + c 5  i=2,..,n 1 + (c 6 +c 7 )  i=2,..,n 0 = (c 1 +c 2 +c 4 +c 8 +c 5 ) n - (c 2 +c 4 +c 8 +c 5 ) = an+b =  (n). Puede expresar T (n) como an + b para constantes a y b (que dependen del costo de la sentencia ci )⇒ T (n) es una funcion lineal de n . Complejidad de tiempo en el peor caso t w (n) En este caso t i = i entonces t w (n) = c 1 n + (c 2 +c 4 +c 8 ) n-1 + c 5  i=2,..,n i + (c 6 +c 7 )  i=2,..,n (i-1) = an 2 +bn+c =  ( n 2 ).
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Porque hay que buscar la eficiencia Tendra sentido invertir tiempo intentando diseñar algoritmos mas eficientes sabiendo que las computadoras se vuelven mas y mas rápidas? Supongamos que que para resolver un problema disponemos de de un algoritmo exponencial y de una computadora que puede ejecutar este algoritmo para casos de tamaño n en 10 -4 x 2 n segundos. Es decir el programa resuelve un ejemplar de tamaño 10 en aprox. un décimo de seg., uno de tamaño 20 en aprox. Dos minutos y para resolver un ejemplar de tamaño 30 no bastará todo un dia de tiempo de cálculo. Suponiendo que fuera posible hacer funcionar un año seguido la máquina se podría llegar a resolver un ejemplar de tamaño 38. Supongamos que podemos comprar una computadora 100 veces mas rápida que la anterior. Ahora con el mismo algoritmo podemos resolver un ejemplar de tamaño n en _________seg. No mucho, pero cuando determine que la nueva maquina en un año no podrá resolver nisiquiera un ejemplar de tamaño 45. En genral si antes se podía resolver un ejemplar de tamaño n en un tiempo determinado, la nueva máquina resolverá ejemplares de tamaño como máximo ___________ en el mismo tiempo.
  • 33.
  • 34.
  • 35.