Está en la página 1de 11

Haga clic para modificar el estilo de subttulo del patrn

Ricardo Tovar Briones 1463439 Joel A. Escamilla Montemayor - 1443502

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

Mejor y Peor Caso

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

return concadenar_lista(quicksort(menor), pivot,

Video

7/24/12

También podría gustarte