QuickSort	
  
Divide	
  y	
  Vencerás	
  +	
  Privote	
  
T(n)	
  Esperado	
  O(n	
  lg	
  n)	
  T(n)	
  Peor	
  Caso	
  O...
Primitivas	
  del	
  QuickSort	
  
Ê  Estrategia:	
  Divide	
  y	
  Vencerás	
  
Ê  Peor	
  Tiempo	
  Asintótico	
  O(n2...
Divide	
  y	
  Vencerás	
  	
  
Ê  Dividir:	
  Se	
  parte	
  el	
  arreglo	
  en	
  dos	
  sub	
  arreglos	
  distintos	...
Método	
  ::	
  int	
  Partition(int[]	
  A,	
  int	
  p,	
  int	
  r)	
  
Próxima SlideShare
Cargando en…5
×

Quick Sort

184 visualizaciones

Publicado el

Tecnicas de Programacion Orientadas a Objetos
Licenciatura - ULACIT

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
184
En SlideShare
0
De insertados
0
Número de insertados
4
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Quick Sort

  1. 1. QuickSort   Divide  y  Vencerás  +  Privote   T(n)  Esperado  O(n  lg  n)  T(n)  Peor  Caso  O(n2)   Ing. Juan Ignacio Zamora M. MS.c Facultad  de  Ingenierías   Licenciatura  en  Ingeniería  Informática  con  Énfasis  en  Desarrollo  de  Software     Universidad  Latinoamericana  de  Ciencia  y  Tecnología        
  2. 2. Primitivas  del  QuickSort   Ê  Estrategia:  Divide  y  Vencerás   Ê  Peor  Tiempo  Asintótico  O(n2)   Ê  Rendimiento  Esperado*  O(n  lg  n)   Ê  Segmenta  el  arreglo  a  la  mitad,  dejando  de  cada  lado  elementos  mayores  y  menores   a  la  posición  pivote.    
  3. 3. Divide  y  Vencerás     Ê  Dividir:  Se  parte  el  arreglo  en  dos  sub  arreglos  distintos     Ê  A[p…q-­‐1]  y  A[q+1…r]   Ê  A[q]  es  el  elemento  pivote   Ê  El  arreglo  izquierdo  debe    contener  valores  menores  que  A[q]  y   el  derecho  valores  mayores   Ê  Conquistar:  Se  ordena  cada  A[p…q-­‐1]  y  A[q+1…r]  mediante   llamadas  recursivas   Ê  Combinar:  este  paso  no  es  necesario,  ya  que  A[p..r]  al  final  va  a   terminar  ordenado  
  4. 4. Método  ::  int  Partition(int[]  A,  int  p,  int  r)  

×