1. Conceito de algoritmo.
Quicksort é uma melhoria na classificação por bolha. Proposto por CAR Hoare em 1962.
2. Pensamento algorítmico.
Divida os dados a serem classificados em duas partes independentes por meio da classificação de uma passagem. Todos os dados em uma parte são menores do que todos os dados na outra parte. O processo de classificação pode prosseguir recursivamente, de modo que todos os dados se tornem uma sequência ordenada.
3. Implemente ideias.
① Use a primeira palavra-chave K 1 como palavra de controle, divida [K 1, K 2,…, K n] em duas subáreas, de modo que todas as palavras-chave na área esquerda sejam menores ou iguais a K 1 e todas as palavras-chave na área direita são maiores ou iguais a K 1 e, finalmente, a palavra de controle está localizada na posição apropriada entre as duas subáreas. Os dados na subárea ainda estão em estado não ordenado.
② Trate a área esquerda como um todo e processe-a com as etapas de ①, e execute o mesmo processamento na área direita. (ou seja, recursão)
③ Repita as etapas ① e ② até que a área esquerda seja processada.
public static void quickSortByMid(int[] a, int low, int high) { if (low >= high) return; // Divisão int pivot = a[low]; while (i < j) { while (i < j && a[j] >= pivô) --j; a[i]=a[j] enquanto (i < j && a[i] <= pivô) + +eu; a[j]=a[i] } a[i]=pivot; quickSortByMid(a, baixo, i-1);Diagrama esquemático do algoritmo de classificação rápida:
O texto acima é todo o conteúdo deste artigo. Espero que seja útil para todos aprenderem o algoritmo de classificação rápida Java.