-2

指数関数的検索の Java 実装を持っている人はいますか? そのアルゴリズムについて何も見つけることができず、実装方法もわかりません。何かのようなもの:

 * Signature method that must implement exponential search.
 * @ Param searchArray integer array in ascending.
 * @ Param x integer element to search for.
 * @ Return integer containing the position in the array <CODE> searchArray <\ CODE>
 * In case the element <CODE> x <\ CODE> be located in this otherwise
 * <CODE> Returns NOT_FOUND </ CODE>

public int exponentialSearch (int [] searchArray, int x);
4

2 に答える 2

-1

指数関数的検索の代わりに、これはバイナリ検索を採用したものであり、データはすでに昇順でソートされていると確信しています。

おおよそ次の手順に従います。

  • アレイの長さのフロアを 2 で割った値として定義されたポイントから開始します。
  • ポイントを見つけたい値と比較します。
  • 一致する場合は、それを見つけた位置を返します。
  • 小さい場合は、配列のサブセットを 0 から開始点 (排他的) まで取り、上記の手順を繰り返します。
  • 大きい場合は、開始点 + 1 から配列のサブセットを取得し、残りの配列を取得して、上記の手順を繰り返します。
于 2013-10-02T18:45:00.833 に答える