quicksort

12
MÉTODO DE ORDENAMIENTO QUICKSORT. Integrantes del Equipo: Chávez Sierra Juan Paúl. Cristín Esperano Luis Enrique. Leyva Bujons Ivan Alberto. López Alva Luis Antonio. Materia: Estructura de Datos. Maestro: M.C. Gerardo Gálvez Gámez.

Upload: juan-paul-chavez-sierra

Post on 04-Jun-2015

781 views

Category:

Education


1 download

DESCRIPTION

Presentacion sobre el ordenamiento Quicksort para la clase de Estructura de datos con el maestro Galves

TRANSCRIPT

Page 1: Quicksort

MÉTODO DE ORDENAMIENTO QUICKSORT.

Integrantes del Equipo:

Chávez Sierra Juan Paúl.

Cristín Esperano Luis Enrique.

Leyva Bujons Ivan Alberto.

López Alva Luis Antonio.

Materia: Estructura de Datos.Maestro: M.C. Gerardo Gálvez Gámez.

Page 2: Quicksort

DEFINICIONES.Su autor es el científico británico en computación Charles Antony Richard Hoare.

Basado en la técnica de divide y vencerás, que permite, en promedio, ordenar n elementos en un tiempo proporcional a n log n.

El método de ordenamiento Quicksort es actualmente el más eficiente y veloz de los métodos de ordenación interna.

También conocido con el nombre del método rápido y de ordenamiento por partición.

Page 3: Quicksort

DESCRIPCIÓN DEL MÉTODO.Lo que hace este algoritmo es dividir recurvisamente el vector en partes iguales, indicando un elemento de inicio, fin y un pivote (o comodin) que nos permitira segmentar nuestra lista. Una vez dividida, lo que hace, es dejar todos los mayores que el pivote a su derecha y todos los menores a su izquierda. Al finalizar el algoritmo, nuestros elementos estan ordenados.

Page 4: Quicksort

MEJORAS.Tiene aparentemente la propiedad de trabajar mejor para elementos de entrada desordenados completamente, que para elementos semiordenados. Esta situación es precisamente la opuesta al ordenamiento de burbuja.

Este método es una mejora sustancial del método de intercambio directo.

Page 5: Quicksort

DESCRIPCIÓN DEL MÉTODO EN VIDEO. http://www.youtube.com/watch?

v=mRhy4wTlg0s&list=LLU8Ow0Ep3wZO9XkVj8ih_tA&feature=mh_lolz

Page 6: Quicksort

DESCRIPCIÓN DEL MÉTODO GRÁFICAMENTE.

pasada #1 5 2 7 3 1 8 2 6 9pivote=5

5>9 no5>6 no5>2 si intercambio

2 2 7 3 1 8 5 6 9

5<2 no5<7 si intercambio

2 2 5 3 1 8 7 6 9

5>8 no5>1 si intercambio

2 2 1 3 5 8 7 6 9

5<3 no2 2 1 3 5 8 7 6 9

fin pasada #1

Page 7: Quicksort

DESCRIPCIÓN DEL MÉTODO GRÁFICAMENTE (CONTINUACIÓN).

Page 8: Quicksort

DESCRIPCIÓN DEL MÉTODO GRÁFICAMENTE (CONTINUACIÓN).

pasada 4 1 2 2 3 5 8 7 6 9

pivote grupo

2 = 8 8>9 no

8>6 si intercambio

1 2 2 3 5 6 7 8 9

8<7 no

fin pasada #4 grupo 4

1 2 2 3 5 6 7 8 9

pasada #5

pivote grupo 6>7 no

4 = 6

fin pasada #5

fin metodo

Arreglo 1 2 2 3 5 6 7 8 9

Ordenado

Page 9: Quicksort

public void Quicksort(int[] Arreglo, int PrimerElemento, int UltimoElemento)

{

int Aux, Pivote;

this.Arreglo=new int[Arreglo.length];

int Izquierda=PrimerElemento;

int Derecha=UltimoElemento;

do

{

Pivote=Izquierda;

while(Arreglo[Pivote] < Arreglo[Derecha])

{

Derecha--;

}

Aux = Arreglo[Pivote];

Arreglo[Pivote] = Arreglo[Derecha];

Arreglo[Derecha] = Aux;

Izquierda++;

while(Arreglo[Pivote] > Arreglo[Izquierda])

{

Izquierda++;

}

Aux = Arreglo[Pivote];

Arreglo[Pivote] = Arreglo[Izquierda];

Arreglo[Izquierda] = Aux;

Derecha--;

}while(PrimerElemento <= UltimoElemento);

if(PrimerElemento < Derecha)

{

Quicksort(Arreglo, PrimerElemento, Derecha);

}

if(Izquierda < UltimoElemento)

{

Quicksort(Arreglo, Izquierda, UltimoElemento);

}

this.Arreglo = Arreglo;

} NUESTRA PROPUESTA DE CODIGO.

Page 10: Quicksort

CONCLUSIÓN. El método de ordenamiento Quicksort es un método muy rápido ya que

divide al arreglo en pequeños subgrupos y los va comparando hasta reducir los subgrupos a la mínima cantidad evitando hacer comparaciones innecesarias y pasadas de más.

Page 11: Quicksort

REFERENCIAS. http://www.angelfire.com/wy2/est_info/quicksort.html

http://www.estructuradedatos.galeon.com/metodoquicksort.htm

Algoritmos se Ordenamiento, Fernando A. Lagos (Ensayo,2007).

Estructura de Datos, Osvaldo Cairo, Ed. Mc Graw Hill, tercera edición.

Page 12: Quicksort

FIN DE LA PRESENTACIÓN. Espacio para preguntas y respuestas.