1. Concepto de algoritmo.
Quicksort es una mejora de la clasificación de burbujas. Propuesto por CAR Hoare en 1962.
2. Pensamiento algorítmico.
Divida los datos que se van a ordenar en dos partes independientes mediante la clasificación de un solo paso. Todos los datos de una parte son más pequeños que todos los datos de la otra parte. Luego, utilice este método para ordenar rápidamente las dos partes de los datos respectivamente. El proceso de clasificación puede proceder de forma recursiva, de modo que todos los datos se conviertan en una secuencia ordenada.
3. Implementar ideas.
① Utilice la primera palabra clave K 1 como palabra de control, divida [K 1, K 2,…, K n] en dos subáreas, de modo que todas las palabras clave en el área izquierda sean menores o iguales que K 1 y todas las palabras clave en el área derecha son mayores o iguales a K 1, y finalmente la palabra de control está ubicada en la posición apropiada entre las dos subáreas. Los datos de la subárea aún se encuentran en un estado desordenado.
② Trate el área izquierda como un todo y procese con los pasos de ①, y realice el mismo procesamiento en el área derecha. (es decir, recursividad)
③ Repita los pasos ① y ② hasta que se procese el área izquierda.
public static void quickSortByMid(int[] a, int low, int high) { if (low >= high) return; // Dividir int pivot = a[low]; mientras (i < j) { mientras (i < j && a[j] >= pivote) --j a[i]=a[j]; +yo; a[j]=a[i]; } a[i]=pivote; QuickSortByMid(a, bajo, i-1); QuickSortByMid(a, i+1, alto);Diagrama esquemático del algoritmo de clasificación rápida:
Lo anterior es el contenido completo de este artículo. Espero que sea útil para todos aprender el algoritmo de clasificación rápida de Java.