Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Quicksort
Quicksort
7/24/12
Definicin
El ordenamiento rpido (Quicksort en ingls) es un algoritmo basado en la tcnica de divide y vencers, no solo nos sirve para organizar una lista de datos desorganizados, si no tambin, para optimizar el tiempo que se ocupa en realizar esta labor, ya que permite ordenar "n" elementos en un tiempo proporcional de O(n log n), lo cual 7/24/12 es muy eficiente.
Cmo Funciona?
Primero tenemos que elegir un elemento al azar al que llamaremos pivote. Despus de elegir el pivote analizaremos y empezaremos acomodarlos de tal manera que los elementos menores al pivote van del lado izquierdo y los mayores del derecho : elemento < pivote = Izquierda
7/24/12
Cmo Funciona?
7/24/12
8 1 2 5 5 5 5
2 5 1 0 7 7 7
1 0 5 1 0 1 0 1 0
4 7 3 3 2 5 2 5 2 5
7 7 7 3 3 3 3 3 3
5 4 7 4 7 4 7 4 7
3 3 8 1 8 1 6 0 5 2
6 0 7 7 7 7 5 2 6 0
5 2 6 0 6 0 7 7 7 7
7 5 2 5 2 8 1 8 1
7/24/12
En el mejor caso, el pivote termina en el centro de la lista, dividindola en dos sublistas de igual tamao. En este caso, el orden de complejidad del algoritmo es O(nlog n). En el peor caso, el pivote termina en un extremo de la lista. El orden de complejidad del algoritmo es entonces de O(n). El peor caso ocurre en listas que se encuentran 7/24/12
Mejor Caso 9 4
7/24/12
7/24/12
5 i
Peor Caso
6
1 j
7/24/12
Pseudocdigo
funcion quicksort(arreglo) variables lista, menor, mayor, elemento if longitud(arreglo) 1 return arreglo else //seleccionar un valor pivote en el arreglo for each elemento en arreglo if elemento < pivote entonces aadir elemento a menor else aadir elemento a mayor
7/24/12
Video
7/24/12