Anda di halaman 1dari 5

Método

QUICKSORT
INICIO Uno(int A[], Dos(int A[],
int der, izq) int izq, der)
Llenar i=izq, i=izq,
n
(int A[],int n) J=der, J=der,
Pivote=A[izq] Pivote=A[izq]
A[]=n i=0; i<=n; i++
i<j I<j
A[ ]
Llenar(a,n) A[i]<=pivote ^ i < j A[i]<=pivote ^ i < j

Uno(a,0,n -1) i=i+1 i=i+1


return
A[j]>pivote A[j]>pivote
Dos(a,0,n -1)
j=j-1 j=j-1
i=0 ; i<n-1; i++
i<j i<j

A[i] aux= A[i], aux= A[i],


A[i]=A[j], A[i]=A[j],
A[j]=aux, A[j]=aux,
Fin

A[izq]=A[j]; A[izq]=A[j];
A[j]=pivote; A[j]=pivote;

izq<j-1 j+1 <der

dos(A,izq,j-1) uno(A,j+1,der)

return return
QUE ES EL METODO
QUIRK_SHORT?
 El algoritmo Quicksort es un algoritmo de
ordenación muy conocido que se caracteriza
por su rapidez. Es un algoritmo
recursivo encuadrado dentro de las técnicas
de "divide y vencerás". Aunque hoy en día, la
mayoría de lenguajes ya proporcionan en sus
librerías funciones de ordenación, es necesario
saber como funcionan este tipo de algoritmos
ya que nunca se sabe cuando nos pueden
hacer falta
QUE VELOCIDAD POSEE EL
MERTODO QUICKSORT
 Comparemos el método mas rápido com uno no
tan bueno:
 Quicksort --> n log n
Bubble sort --> n2 (n al cuadrado)
 Es decir:
 Lo que da que para unos 100.000 datos:
 Quicksort -> 100.000 x (log 100.000) = 500.000
Bubble sort -> 100.000 x 100.000 = 10.000.000.000
 Es decir, en un caso medio, quicksort es 20.000
veces más rápido que buble sort.
Ejemplo
 “DIVIDE Y
VENCERAS”
 Toma el primer numero
como punto de partida
para despues dividir el
Vector en 2 por partes
iguales aunque difiere con
error de 1.
 Lo sigue subdividiendo en
2 hasta que no halla mas
particiones que subdividir
al vector.
 Luego de ello ordena el
vector de menor a mayor
o de mayor a menor
dependiendo como
formemos nuestro
algoritmo.

Anda mungkin juga menyukai