You are on page 1of 8

Algoritmo de

Ordenamiento Rpido
QuickSort
Presenta:
Luciano Deluque Barrios
Eduardo Calderon Navarro
Michael Garzon Rodriguez
Jefferson DeLeon
Quicksort
ordenamiento rpido(quicksorten
ingles) es unalgoritmo creado por
el cientfico britnico en
computacinC.A.R. Hoare, basado
en la tcnica dedivide y vencers,
que permite, en
promedio,ordenarnelementos en
un tiempo proporcional anlogn.
Historia
Charles Antony Richard
Hoare(Colombo,SriLanka,11de
enerode1934-),tambin
conocidofamiliarmente
comoTony Hoare,esun
cientficobritnicoencomputaci
n.

Conocidosobretodoporla
invencin,en1960deQuicksort,
queeselalgoritmode
ordenamientomsampliamente
utilizadoenelmundo.Tambin
seleconoceporeldesarrollode
laLgicadeHoare,yporel
lenguajeformalCSP
Descubrimiento.
Intentandofacilitarlabsqueda
depalabraseneldiccionario
descubrielfamosoalgoritmo
Quicksort.basadoenlatcnica
divideyvencers,demodo
queconvierteunproblema
complicado,enmuchossencillos,
peroademseselmsrpido
conocidoparahaceresta
tarea.De hecho es, segn las
teoras de anlisis de complejidad
de algoritmos, el ms rpido
posible. Est matemticamente
demostrado que no se puede
hacer un algoritmo de ordenacin
ms rpido que Quicksort.
Descripcin del algoritmo

Elalgoritmotrabajadelasiguiente Lalistaquedaseparadaen
forma:
dossublistas,unaformada
Elegirunelementodelalistade porloselementosala
elementosaordenar,alque izquierdadelpivote,yotra
llamaremospivote.
porloselementosasu
Resituarlosdemselementosdela derecha.
listaacadaladodelpivote,de
maneraqueaunladoquedentodos Repetiresteprocesode
losmenoresquel,yalotrolos formarecursivaparacada
mayores.Loselementosigualesal
pivotepuedensercolocadostantoa sublistamientrasstas
suderechacomoasuizquierda, contenganmsdeun
dependiendodelaimplementacin elemento.Unavez
deseada.Enestemomento,el terminadoesteproceso
pivoteocupaexactamenteellugar
quelecorresponderenlalista
todosloselementosestarn
ordenada. ordenados.
Demostracin de un caso particular

Supongamosqueel Enconclusin,elnmero
nmerodeelementosa totaldecomparaciones
ordenaresunapotencia quehaceelalgoritmoes:
dedos,esdecir,
n=2^{k}}paraalgn n+n+n+.....+n=kn},
naturalk.Inmediatamente dondek=log_{2}(n),por
k=log_{2}(n),dondekes tantoelOrdende
elnmerodedivisiones Complejidaddelalgoritmo
querealizarelalgoritmo. enelpeorcaso
esO(n.log_{2}n)}.
Comparamosconel5porlaizquierdayel1porladerecha.

5esmayorque4y1esmenor.Intercambiamos:

Ejemplo
avanzamosporlaizquierdayladerecha:

Enelsiguienteejemplose
3esmenorque4:avanzamosporlaizquierda.2esmenorque4:nos marcanelpivoteylos
mantenemosah. ndicesiyjconlas
letrasp,iyjrespectivament
e.
Comenzamosconlalista
completa.Elelemento
pivoteserel4:

You might also like