
ある書籍の検索アルゴリズムの2分検索の説明で、下記のような例が示されていました。
(これはその例を私がプログラム化したのもので、書籍からの転写ではありません。)
そこで疑問なんですが、このプログラムは確かに動作こそしますが、
ループの中の$middleは小数になりますよね。
添え字が小数になる事は、正しい配列の処理といえるのでしょうか?
小数に対して、丸めるなどの処理を加えるべきなのでしょうか?
よろしくお願いします。
------------------------------------------------------------
「$arrayの中から、$xを検索します」
$array = array(1,2,3,4,5,7,10,12);
$x = 10;
$low = 1;
$high = count($array);
$is_exist = false;
while( $low <= $high and $is_exist == false ) {
$middle = ( $low+$high )/2;
if( $array[$middle] == $x ) {
$is_exist = true;
} else if ( $array[$middle] < $x ) {
$low = $middle+1;
} else if ( $array[$middle] > $x ) {
$high = $middle-1;
}
}
if ($is_exist) {
echo "true";
} else {
echo "false";
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
MYSQLとPHPによって取得する多...
-
正規表現
-
Tableの背景色を交互に変えたい
-
foreachの実行結果について
-
配列の比較
-
ランダムの比較について
-
array_uniqueについて
-
PHPによる並べ替え(ソーティン...
-
多次元配列からxmlツリーを作成...
-
delphi 2次元配列がわかりません
-
CArrayの要素としてCStringArra...
-
fgetc関数について
-
行列
-
多次元配列の重複削除
-
array_intersectで空欄を比較し...
-
AならBを読み込む場合
-
空フィールドが表示されない
-
【PHP】配列内のある値以上をカ...
-
ランダム表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
行列
-
CArrayの要素としてCStringArra...
-
Texでの数式
-
読み(あ行~わ行)ごとに分け...
-
CArrayのソート
-
C言語 最大値と最小値を求めて...
-
fgetc関数について
-
PHPのmin関数、「1」以上の数値...
-
連想配列の文字コードを変換
-
STLのvectorで作った配列をメン...
-
C言語のchar ポインタ
-
C言語で全角文字の扱いについて
-
配列を指定した順序でソート
-
php で1から100までの素数の表...
-
delphi 2次元配列がわかりません
-
np.stack()とnp.array()の違い
-
array_intersectで空欄を比較し...
-
cakephpでのトランザクション処...
-
verilogで、配列の一部をタスク...
おすすめ情報