Java
 Computer >> コンピューター >  >> プログラミング >> Java

二分探索のためのJavaプログラム(再帰的)


以下は、Javaでの再帰的二分探索のプログラムです-

public class Demo{
   int rec_bin_search(int my_arr[], int left, int right, int x){
      if (right >= left){
         int mid = left + (right - left) / 2;
         if (my_arr[mid] == x)
         return mid;
         if (my_arr[mid] > x)
         return rec_bin_search(my_arr, left, mid - 1, x);
         return rec_bin_search(my_arr, mid + 1, right, x);
      }
      return -1;
   }
   public static void main(String args[]){
      Demo my_object = new Demo();
      int my_arr[] = { 56, 78, 90, 32, 45, 99, 104};
      int len = my_arr.length;
      int x = 104;
      int result = my_object.rec_bin_search(my_arr, 0, len - 1, x);
      if (result == -1)
         System.out.println("The element is not present in the array");
      else
         System.out.println("The element has been found at index " + result);
   }
}

出力

The element has been found at index 6

Demoという名前のクラスには、検索する必要のある左右と値を取得するバイナリ検索関数が含まれています。バイナリ検索が実装されると、main関数はDemoオブジェクトのインスタンスを作成し、配列に値を割り当てます。この二分探索関数は、特定の値をパラメーターとして検索に渡すことにより、配列で呼び出されます。見つかった場合はインデックスが表示され、見つからなかった場合は関連するメッセージが表示されます。


  1. バイナリ挿入ソート用のJavaプログラム

    バイナリ挿入ソートは、バイナリ検索を使用して、反復ごとに特定のインデックスに要素を挿入するための適切な位置を見つけます。まず、要素を挿入する必要がある場所を見つけます。次に、要素は次の正しい位置に移動されます。これで、特定の要素がその位置に配置されます。 以下は、バイナリ挿入ソートのJavaコードです- 例 public class Demo{    void Cocktail_Sort(int my_arr[]){       boolean swapped = true;       int start =

  2. 二分探索のためのPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明- ソートされたリストが表示され、バイナリ検索を使用して要素を見つける必要があります。 アルゴリズム xを中央の要素と比較します。 xが中央の要素と一致する場合、中央のインデックスを返します。 それ以外の場合、xがmid要素よりも大きい場合、xはmid要素の後の右半分のサブ配列にのみ存在できます。したがって、右半分を繰り返します。 それ以外の場合(xは小さい)は左半分で繰り返されます 再帰的アルゴリズム 例 def binarySearchAppr (arr,