Академический Документы
Профессиональный Документы
Культура Документы
GRADO: 3 SEMESTRE
GRUPO: 3E
INDICE
INTRODUCCION .............................................................................................................................. 3
CONCEPTO E IMPLEMENTACION ............................................................................................. 4
CODIGO EJEMPLO QUICKSORT ................................................................................................ 6
ORDEN DEL ALGORITMO ............................................................................................................ 8
CONCLUSIONES ........................................................................................................................... 10
BIBLIOGRAFIA CONSULTADA (OTRAS FUENTES) ............................................................. 11
INTRODUCCION
CONCEPTO E IMPLEMENTACION
El ordenamiento rpido (quicksort en ingls) es un algoritmo creado por el
cientfico britnico en computacin C. A. R. Hoare basado en la tcnica de divide y
vencers, que permite, en promedio, ordenar n elementos en un tiempo
proporcional a n log n.
Para comprender bien cmo funciona el quicksort hay tener claros estos
conceptos:
Pivote: Es un nmero del arreglo que tomaremos como referencia para
reorganizar el arreglo de nmeros y ordenarlo.
En pocas palabras tomamos todos los nmeros mayores que el que hayamos
elegido como pivote y los colocamos a la derecha del mismo, y todos los que sean
menores que este los colocamos del lado izquierdo.
Punteros izquierdo y derecho: El quicksort utiliza 2 punteros como referencia,
uno izquierdo y uno derecho, normalmente cuando se ordena de menor a mayor el
izquierdo
simboliza
el
lado
de nmeros menores
el
derecho
while(i<j){
A[i]=A[j];
A[j]=aux;
}
}
Tiempo de Ejecucin:
Caso promedio. La complejidad para dividir una lista de n es O(n).
Cada sublista genera en promedio dos sublistas ms de largo n/2.
Por lo tanto la complejidad se define en forma recurrente como:
f(1) = 1
f(n) = n + 2 f(n/2)
f(n) = n log2n
El peor caso ocurre cuando la lista ya est ordenada, porque cada llamada genera slo
una sublista (todos los elementos son menores que el elemento de divisin).
En este caso el rendimiento se degrada a O(n).
Ventajas:
Muy rpido
Desventajas:
CONCLUSIONES
LA CONCLUCION A ES TEMA FUE APARTE DE LA IMPLEMENTACION QUE
SE OCUPA EN ELLA, TAMBIEN SOBRE LOS FACTORES QUE HACEN EN SU
USO COMO, EXPLICANDO TECNICAS PARA PODER LLAMAR AL PIVOTE EN
DADO CASO QUE LO REQUERAMOS.
NO OBSTANTE LA PARTE DEL CONCEPTO EXPLICA A LAS DUDAS QUE
HABRIA DE CIERTO MODO Y QUE A SU VEZ NOS DARIA UNA IMAGEN EN LA
CABEZA SOBRE QUE PASA EN ESE MOMENTO.
CABE RECALCAR EL USO QUE NOSOTROS LE ESTEMOS DANDO EN
NUESTRO PROGRAMA AL REALIZAR, SIN IMPORTA QUE SEA RECURSIVA O
ITERATIVA, SIEMPRE SE TENDRA UN RESULTADO QUE SE ASEMEJE A LO
BUSCADO POR NOSOTROS.
SIN EMBARGO HABRA QUE CONSIDERAR EL TIEMPO QUE SE TOMA EN
EJECUCION DEL PROGRAMA, SI ES RECURSIVO CON MAS RAZON SE
TARDARA MENOS Y SI ES ITERATIVO SI SE DEMORARA UNOS SEGUNDOS.