SlideShare una empresa de Scribd logo
ANÁLISIS	
  DE	
  ALGORITMOS	
  Y	
  
COMPLEJIDAD
La	
  eficiencia	
  de	
  los	
  algoritmos
Gloria	
  Isabel	
  Bautista	
  Lasprilla.
bautistalasprilla.gloriaisabel@gmail.com
gbautista@unitecnologica.edu.co
gloria@utbvirtual.edu.co
Definición
Un algoritmo puede de ser lo más eficiente posible con independencia de
la plataforma Software/Hardware que se utilice.
Si el algoritmo es ya eficiente de por sí, más veloz será si se ejecuta en una
plataforma mucho más rápida.
Entonces, podemos afirmar que el responsable principal de la eficiencia (o
no) de un algoritmo es siempre el programador.
El análisis del costo computacional de los algoritmos se estima siempre en
el peor de los casos.
El caso promedio es difícil de establecer pues depende del contenido de
los datos de entrada.
El mejor de los casos es considerado un ideal que difícilmente se cumple.
Análisis	
  de	
  algoritmos	
  de	
  
ordenamiento
Eficiencia	
  y	
  Complejidad
El	
  siguiente	
  ejercicio	
  analiza	
  el	
  algoritmo	
  sencillo	
  de	
  ordenamiento,	
  
método	
  selección:
• En	
  el	
  peor	
  de	
  los	
  Casos
• En	
  el	
  mejor	
  de	
  los	
  Casos
• En	
  el	
  Caso	
  Intermedio
Análisis	
  del	
  método	
  
selección
FOR	
  EXTERNO
INSTRUCCIÓN COSTO
i = 0 1
i <= n-­‐1 n	
  +	
  1
i++ n
sm = i n
for interno n	
  *	
  for	
  interno
aux = A[sm] n
A[sm] = A[i] n
A[i] = aux n
2	
  +	
  6n	
  +	
  n	
  *	
  for interno
void seleccionsort (int A[],	
  int n)	
  
{
int sm,	
  i,	
  j,	
  aux;
for (i	
  =	
  0;	
  i	
  <n-­‐1;	
  i++)	
  
{
sm =	
  	
  i;
for(j	
  =	
  i+1;	
  j	
  <	
  n;	
  j++)
if(A[sm]	
  >	
  A[j])
sm =	
  j;
aux =	
  A[sm];
A[sm]	
  =	
  A[i];
A[i]	
  =	
  aux ;
}
}	
  
FOR	
  INTERNO
INSTRUCCIÓN
COSTO	
  
(Peor de	
  los	
  casos)
COSTO	
  
(Mejor de	
  los	
  casos)
COSTO	
  
(Caso	
  intermedio)
j	
  =	
  i	
  +	
  1 1 1 1
j	
  <=	
  n n	
  – (i+1)	
  +	
  1 n	
  – (i+1)	
  +	
  1 n	
  – (i+1)	
  +	
  1
j++ n	
  – i	
  +	
  1 n	
  – i	
  +	
  1 n	
  – i	
  +	
  1
if	
  (	
  ) n	
  – i	
  +	
  1 n	
  – i	
  +	
  1 n	
  – i	
  +	
  1
sm =	
  j	
   n	
  – i	
  +	
  1 (n	
  – i	
  +	
  1)/2
Análisis	
  del	
  método	
  
selección
Peor de	
  los	
  casos Mejor	
  de	
  los	
  casos Caso	
  intermedio
6	
  +	
  4	
  (n	
  – i) 5	
  +	
  3	
  (n	
  – i) 5	
  +	
  3	
  (n	
  – i)	
  +	
  (n	
  – i	
  +	
  1)	
  /	
  2
2	
  +	
  6n	
  +	
  n	
  *	
  for interno
Análisis	
  del	
  método	
  
selección
El	
  peor	
  de	
  los	
  casos
å å å= =
-
=
ú
û
ù
ê
ë
é
+++
n
i
n
i
in
i1 1 1
4662
2102 2
++ nn
For interno,	
  el	
  peor	
  caso
6	
  +	
  4	
  (n	
  – i)
2	
  +	
  6n	
  +	
  n	
  *	
  for interno
Ecuación	
  general
Análisis	
  del	
  método	
  
selección
El	
  mejor	
  de	
  los	
  casos
å å å= =
-
=
ú
û
ù
ê
ë
é
+++
n
i
n
i
in
i1 1 1
3562
2
2
19
2
3 2
++ nn
2	
  +	
  6n	
  +	
  n	
  *	
  for interno
Ecuación	
  general
For interno,	
  el	
  mejor	
  caso
5	
  +	
  3	
  (n	
  – i)
Análisis	
  del	
  método	
  
selección
El	
  caso	
  intermedio
2	
  +	
  6n	
  +	
  n	
  *	
  for interno
Ecuación	
  general
å å å å= =
-
=
+-
=
ú
û
ù
ê
ë
é
++++
n
I
n
i
in
i
in
i1 1 1
1
1 2
1
3562
2
4
39
4
7 2
++ nn
For interno,	
  caso	
  intermedio
5	
  +	
  3	
  (n	
  – i)	
  +	
  (n	
  – i	
  +	
  1)	
  /	
  2
¿Preguntas?
Gloria	
  Isabel	
  Bautista	
  Lasprilla
gbautist@unitecnologica.edu.co
gloria@utbvirtual.edu.co
Bautistalasprilla.gloriaisabel@gmail.com

Más contenido relacionado

PDF
Complejidad computacional 1
PPT
Jflambert lyada - ayudantia ordenamiento y teo maestro
PPT
Jflambert lyada - ayudantia matematicas discretas
PPT
Analisis Clase2
DOC
Inf 2316(proyecto)
PDF
Ordenamiento
PPTX
Análisis de complejidad introducción notación big o
 
PPTX
Complejidad computacional 1
Jflambert lyada - ayudantia ordenamiento y teo maestro
Jflambert lyada - ayudantia matematicas discretas
Analisis Clase2
Inf 2316(proyecto)
Ordenamiento
Análisis de complejidad introducción notación big o
 

Similar a Complejidad computacional selección (20)

PPTX
PDF
Notas analisis algoritmos_vf
PDF
y estructura_de_datos
PDF
Algoritmos y estructura_de_datos
PDF
Algoritmos y estructura_de_datos
PDF
Algoritmos y estructura_de_datos
PPT
AnáLisis De Algoritmos1
PPT
AnáLisis De Algoritmos1
DOC
Metodo quicksort
PPTX
Programacion dinamica
PPTX
05 - Analisis de Algoritmos.pptx
PPT
Algoritmos
PDF
Manual ad av1
PPTX
Análisis de algoritmo
PDF
Mètodos de Ordenaciòn y bùsqueda
DOCX
Algoritmos divide y vencerás
PPTX
Algoritmos
PPTX
Cap 02.1 analisis de las estructuras de control(1)
PDF
PDF
UNIDAD IV - metodos de busqueda
Notas analisis algoritmos_vf
y estructura_de_datos
Algoritmos y estructura_de_datos
Algoritmos y estructura_de_datos
Algoritmos y estructura_de_datos
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
Metodo quicksort
Programacion dinamica
05 - Analisis de Algoritmos.pptx
Algoritmos
Manual ad av1
Análisis de algoritmo
Mètodos de Ordenaciòn y bùsqueda
Algoritmos divide y vencerás
Algoritmos
Cap 02.1 analisis de las estructuras de control(1)
UNIDAD IV - metodos de busqueda
Publicidad

Más de Gloria Isabel Bautista Lasprilla (12)

PDF
Herencia y polimorfismo
PDF
Profesora Asociada Facultad de Ingeniería UTB
PDF
PDF
Poster - presentación
PDF
PDF
Abb árboles de búsqueda binaria
PDF
Definición de clases en POO
PDF
Presentacion encuentro gloria bautista
PPT
Herencia y polimorfismo
PDF
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
PDF
Articulación Educación Media con Superior
Herencia y polimorfismo
Profesora Asociada Facultad de Ingeniería UTB
Poster - presentación
Abb árboles de búsqueda binaria
Definición de clases en POO
Presentacion encuentro gloria bautista
Herencia y polimorfismo
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Articulación Educación Media con Superior
Publicidad

Último (9)

PDF
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
PPTX
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
PPTX
Fundamentos de Python - Curso de Python dia 1
PDF
Presentacion de compiladores e interpretes
PPTX
Control de seguridad en los sitios web.pptx
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PPTX
Implementación equipo monitor12.08.25.pptx
PPTX
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
PPTX
Conceptos basicos de Base de Datos y sus propiedades
Clase 3 - Presentación visual (Insertando objetos visuales) POWER POINT.pdf
Tratará sobre Grafos_y_Arboles_Presentacion.pptx
Fundamentos de Python - Curso de Python dia 1
Presentacion de compiladores e interpretes
Control de seguridad en los sitios web.pptx
AutoCAD Herramientas para el futuro, Juan Fandiño
Implementación equipo monitor12.08.25.pptx
ORIGEN DE LA IA - GRADO 1102 INTELIGENCIA
Conceptos basicos de Base de Datos y sus propiedades

Complejidad computacional selección

  • 1. ANÁLISIS  DE  ALGORITMOS  Y   COMPLEJIDAD La  eficiencia  de  los  algoritmos Gloria  Isabel  Bautista  Lasprilla. bautistalasprilla.gloriaisabel@gmail.com gbautista@unitecnologica.edu.co gloria@utbvirtual.edu.co
  • 2. Definición Un algoritmo puede de ser lo más eficiente posible con independencia de la plataforma Software/Hardware que se utilice. Si el algoritmo es ya eficiente de por sí, más veloz será si se ejecuta en una plataforma mucho más rápida. Entonces, podemos afirmar que el responsable principal de la eficiencia (o no) de un algoritmo es siempre el programador. El análisis del costo computacional de los algoritmos se estima siempre en el peor de los casos. El caso promedio es difícil de establecer pues depende del contenido de los datos de entrada. El mejor de los casos es considerado un ideal que difícilmente se cumple.
  • 3. Análisis  de  algoritmos  de   ordenamiento Eficiencia  y  Complejidad El  siguiente  ejercicio  analiza  el  algoritmo  sencillo  de  ordenamiento,   método  selección: • En  el  peor  de  los  Casos • En  el  mejor  de  los  Casos • En  el  Caso  Intermedio
  • 4. Análisis  del  método   selección FOR  EXTERNO INSTRUCCIÓN COSTO i = 0 1 i <= n-­‐1 n  +  1 i++ n sm = i n for interno n  *  for  interno aux = A[sm] n A[sm] = A[i] n A[i] = aux n 2  +  6n  +  n  *  for interno void seleccionsort (int A[],  int n)   { int sm,  i,  j,  aux; for (i  =  0;  i  <n-­‐1;  i++)   { sm =    i; for(j  =  i+1;  j  <  n;  j++) if(A[sm]  >  A[j]) sm =  j; aux =  A[sm]; A[sm]  =  A[i]; A[i]  =  aux ; } }  
  • 5. FOR  INTERNO INSTRUCCIÓN COSTO   (Peor de  los  casos) COSTO   (Mejor de  los  casos) COSTO   (Caso  intermedio) j  =  i  +  1 1 1 1 j  <=  n n  – (i+1)  +  1 n  – (i+1)  +  1 n  – (i+1)  +  1 j++ n  – i  +  1 n  – i  +  1 n  – i  +  1 if  (  ) n  – i  +  1 n  – i  +  1 n  – i  +  1 sm =  j   n  – i  +  1 (n  – i  +  1)/2 Análisis  del  método   selección Peor de  los  casos Mejor  de  los  casos Caso  intermedio 6  +  4  (n  – i) 5  +  3  (n  – i) 5  +  3  (n  – i)  +  (n  – i  +  1)  /  2 2  +  6n  +  n  *  for interno
  • 6. Análisis  del  método   selección El  peor  de  los  casos å å å= = - = ú û ù ê ë é +++ n i n i in i1 1 1 4662 2102 2 ++ nn For interno,  el  peor  caso 6  +  4  (n  – i) 2  +  6n  +  n  *  for interno Ecuación  general
  • 7. Análisis  del  método   selección El  mejor  de  los  casos å å å= = - = ú û ù ê ë é +++ n i n i in i1 1 1 3562 2 2 19 2 3 2 ++ nn 2  +  6n  +  n  *  for interno Ecuación  general For interno,  el  mejor  caso 5  +  3  (n  – i)
  • 8. Análisis  del  método   selección El  caso  intermedio 2  +  6n  +  n  *  for interno Ecuación  general å å å å= = - = +- = ú û ù ê ë é ++++ n I n i in i in i1 1 1 1 1 2 1 3562 2 4 39 4 7 2 ++ nn For interno,  caso  intermedio 5  +  3  (n  – i)  +  (n  – i  +  1)  /  2
  • 9. ¿Preguntas? Gloria  Isabel  Bautista  Lasprilla gbautist@unitecnologica.edu.co gloria@utbvirtual.edu.co Bautistalasprilla.gloriaisabel@gmail.com