2番目のコードカタ(毎回異なるメソッドを使用してバイナリ検索アルゴリズムを5回実装するように要求する)を実行している間に、次のように機能するわずかに異なるソリューションを思い付きました。
長さ100のソートされた配列があり、その開始フィールドに数字200が含まれ、その終了フィールドに数字400が含まれている場合、人間を研究する数学として、私は通常のバイナリ検索アルゴリズムのようなフィールド50ではなく、番号270です。
次に、配列のフィールド35の数が270の場合、35は検索したインデックスです。
そうでない場合は、取得した数値(280など)を比較し、配列の下部を取得する操作を繰り返します(したがって、開始フィールドに200を含み、終了フィールドに280を含む35フィールドがあります)。私が見つけた数は、私が探しているもの、または配列の上部よりも大きいです(たとえば260を取得しました:現在、65のインデックスがあり、最初のインデックスには260が含まれ、最後のインデックスには400が含まれています。取得した数値が検索している数値よりも小さい場合、このサブ配列のインデックス4(配列全体のインデックス39)。
問題は、このアルゴリズムをバイナリ検索アルゴリズムと見なすことはできますか?そうでない場合、独自の名前を持っていますか?