Java クイック ソートの原理と実装の詳細な説明
クイック ソートは、一般的に使用される並べ替えアルゴリズムです。実装はシンプルかつ効率的です。古典的な再帰アルゴリズム。この記事では、クイック ソートの原理と実装を詳しく紹介し、具体的な Java コード例を示します。
クイック ソートの一般的な手順は次のとおりです。
(1) ベンチマーク要素を選択し、左側の要素が以下になるようにシーケンスを 2 つの部分に分割します。ベンチマーク、および右側の要素がベンチマーク以上である;
(2) 左側と右側の部分を再帰的にすばやく並べ替えます。
public class QuickSort { public static void quickSort(int[] arr, int low, int high) { if (low < high) { int partitionIndex = partition(arr, low, high); quickSort(arr, low, partitionIndex - 1); quickSort(arr, partitionIndex + 1, high); } } private static int partition(int[] arr, int low, int high) { int pivot = arr[high]; int i = low - 1; for (int j = low; j < high; j++) { if (arr[j] < pivot) { i++; swap(arr, i, j); } } swap(arr, i + 1, high); return i + 1; } private static void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static void main(String[] args) { int[] arr = {9, 2, 4, 7, 1, 5, 3, 8, 6}; System.out.println("Before sorting:"); for (int num : arr) { System.out.print(num + " "); } quickSort(arr, 0, arr.length - 1); System.out.println(" After sorting:"); for (int num : arr) { System.out.print(num + " "); } } }
上記のコードでは、静的メソッド ## を定義します。 #quickSort は、整数配列、開始インデックスと終了インデックスをパラメータとして受け入れます。
quickSort メソッドでは、まず開始インデックスが終了インデックスより小さいかどうかを判断し、条件が満たされる場合はベース要素を選択し、
partition メソッドを通じてパーティション操作を実行します。
partitionこのメソッドでは、最後の要素をベース要素として使用し、開始インデックスと終了インデックスの間の要素をトラバースし、ベース要素よりも小さい要素をベース要素よりも大きい要素と交換します。最後に、ベース要素を最終位置に交換し、その位置を返します。
main メソッドでは、整数配列を作成し、初期化します。次に、
quickSort メソッドを呼び出して配列を並べ替え、並べ替え前後の結果を出力します。
クイック ソートは、シンプルで効率的な原理を備えた古典的な並べ替えアルゴリズムです。この記事は、クイック ソートの原理を詳細に分析し、具体的な Java 実装コードを提供することで、読者がクイック ソート アルゴリズムのアイデアと実装方法を理解し、習得できるように支援します。実践と最適化を通じて、クイック ソート アルゴリズムをより適切に適用して実際的な問題を解決できるようになります。
以上がJava クイック ソート アルゴリズムの原理と実装手順についての詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。