La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Quick Sort Estructura de Datos: Métodos de ordenamiento. José Alejandro Leal González Verito no m c tu nombre completo jejeje aquí va!!!

Presentaciones similares


Presentación del tema: "Quick Sort Estructura de Datos: Métodos de ordenamiento. José Alejandro Leal González Verito no m c tu nombre completo jejeje aquí va!!!"— Transcripción de la presentación:

1 Quick Sort Estructura de Datos: Métodos de ordenamiento. José Alejandro Leal González Verito no m c tu nombre completo jejeje aquí va!!!

2 Método Quick Sort El método Quick Sort es uno de los métodos mas efectivos ya que se basa en el algoritmo de “Divide y vencerás” lo que proporciona una mayor velocidad de ordenamiento.

3 2.- Al comparar cada uno de los elementos con el pivote e intercambiar elementos de acuerdo a las condiciones el arreglo queda dividido en dos subarreglos uno con los elementos menores o iguales y otro con los elementos mayores o iguales:

4 ¿Cómo funciona el método Quick Sort? 1.- Se selecciona un numero “PIVOTE” con el cual se van a comparar cada uno de los elementos del arreglo. int pivote = vector[(primero + ultimo) / 2]; Por ejemplo: 0 1 2 3 4 5 6 7 8 9 pivote 13222672123181625

5 int i=inicio, j=fin; int pivote=vector[(inicio + fin) / 2]; variables int auxiliar; do { while(vector[i]<pivote) i++; while(vector[j]>pivote) j--; Condiciones de incremento y decremento de variables if (i<=j) { auxiliar=vector[j]; vector[j]=vector[i]; vector[i]=auxiliar; Intercambio de elementos i++; j--; } } while (i<=j);

6 3.- El bucle “do while” se repite hasta que termine de intercambiar elementos menores o mayores al pivote. Es decir que las dos variables “i” y “j” se encuentren cuando esto sucede el bucle termina y se repite otra vez todo el proceso. If (inicio<j) { Elementos menores al pivote ordenar(vector,inicio, j); inicio=0 1 …….. pivote } if (fin>i) { Elementos mayores al pivote ordenar(vector,i, fin); pivote ……. fin } abcd wxyz

7 4.- Al terminar de ordenar cada uno de los subarreglos el arreglo principal queda totalmente ordenado: 0 1 2 3 4 5 6 7 8 9 25713161821222326

8 Código en Java ordenar(arreglo,0,arreglo.length-1); static void ordenar(int[] vector, int inicio, int fin) { int i=inicio, j=fin; int pivote=vector[(inicio + fin) / 2]; int auxiliar; do { while(vector[i]<pivote) i++; while(vector[j]>pivote) j--; if (i<=j) { auxiliar=vector[j]; vector[j]=vector[i]; vector[i]=auxiliar; i++; j--; } while (i<=j); if(inicio<j) { ordenar(vector,inicio, j); } if(fin>i) { ordenar(vector,i, fin); }

9

10 Aplicaciones del método Quick Sort ????

11 Lista de 5 ejercicios Ordenar los siguientes elementos: 5 10 20 30 50 33 44 23 12 43 54 67 45 33 78 99 0 43 56 43 23 12 43 54 67 45 33 78 99 0 33 55 76 85 43 56 2 5 76 8 71 14 29 51 83 60 12 61 23 61


Descargar ppt "Quick Sort Estructura de Datos: Métodos de ordenamiento. José Alejandro Leal González Verito no m c tu nombre completo jejeje aquí va!!!"

Presentaciones similares


Anuncios Google