You are on page 1of 4

Instituto Tecnológico de León

Omar Salas Rodríguez


Ricardo Santana Mora Montiel
Francisco Xavier Bujdud Munguía
28/10/15
Sobre Quicksort
• Su autor es C.A. Hoare, quien lo
bautizo.
• Se le conoce también como Método
Rápido
• Es actualmente el método de inserción
mas eficiente de los métodos de
ordenación interna.
• Se basa en el principio de “Divide y
vencerás”
• Generalmente se usa en arreglos.
Idea Básica del Quicksort
• Se toma un elemento n que será el primer elemento del arreglo y
empezara a compararse con la ultima posición del arreglo.
• Se ubican todos los elementos mayores a n a su derecha y los
menores e iguales a su izquierda, tratando de poner a n en su
posición correcta.
• Se repite el procesó, pero ahora para los conjuntos que se encuentran
a la derecha e izquierda de n.
• El proceso termina cuando los elementos se encuentran ordenados.
Ejemplo en java
public static void quicksort(int A[], int izq, int der) { A[izq]=A[j]; // se coloca el pivote en su lugar de
forma que tendremos
int pivote=A[izq]; // tomamos primer elemento como A[j]=pivote; // los menores a su izquierda y los
pivote mayores a su derecha
int i=izq; // i realiza la búsqueda de izquierda a if(izq<j-1)
derecha quicksort(A,izq,j-1); // ordenamos subarray
int j=der; // j realiza la búsqueda de derecha a izquierdo
izquierda if(j+1 <der)
int aux; quicksort(A,j+1,der); // ordenamos subarray
while(i<j){ // mientras no se crucen las derecho
búsquedas }
while(A[i]<=pivote && i<j) i++; // busca elemento
mayor que pivote
while(A[j]>pivote) j--; // busca elemento menor
que pivote
if (i<j) { // si no se han cruzado
aux= A[i]; // los intercambia
A[i]=A[j];
A[j]=aux;
}
}

You might also like