この記事の例は、Javaの2つのポイント検索アルゴリズムを示しています。あなたの参照のために全員のためにそれを共有してください。詳細は次のとおりです。
1。前提条件:2つのポイント検索の前提は、見つける必要がある配列をソートする必要があるということです。
2。原則:値の中央値の前に、数を3つの部分に分割します(中央値は、アレイの中央値の正面の値です)。その後、再帰プロセスは、前半または後半を3つの部分に分解し続けます。あなたが理解していないなら、それは明確に説明されていないかもしれません。説明から、このアルゴリズムは再帰に適していることがわかり、再帰である人はサイクルで実装できます。したがって、実装は2つのタイプに分かれています:再帰とサイクル
コードを実装:
Public Class BinarySearch {public static void(string [] art){int searcharrrrrr [] = new int [1000000]; println(binsearch(searchArrrrrr、0、searchArr.length-99)); end -start)/2 + start; (arr、0、mid -1、sear);} else if(sear> arr [mid]){return binsearch(arr、mid+1、end、sear);} return -1;} // 2ポイントのサイクル検索public static int binsearch(int arr){int mid = length/2; int end = 0; start)/2+start; if(key == arr [mid]){return mid;} else(key <= arr [mid]){end = mid -1;} ]){start = mid+1;}} return -1;}効率の比較:
サイクルデュプレックス検索アルゴリズムの効率は、再帰的なデュアルポイント検索アルゴリズムよりも高いです
この記事がすべての人のJavaプログラムのデザインに役立つことが期待されています。