要素499に整数5215、要素686に整数7282を検索するために、バイナリ検索アルゴリズムであり、配列内の要素の総数が1000であると仮定すると、いくつの要素を検索(バイナリ検索)する必要がありますか?整数5215を499番目の要素に、整数7282を686番目の要素に配置するために検索する必要がある要素はいくつですか?
問題を解決するにはどうすればよいですか?私はこのアルゴリズムが配列の要素の総数を半分に分割して最初に検索値(または見つけたい要素)が中央にあるかどうかを調べることを知っています。しかし、そこになければ配列の上半分をチェックしますが、そこになければ再び下に戻ります。また、HTMLコードに埋め込まれている質問をする前に、この問題を研究したことの証拠があります。私は(ただし理論を持っている:)
1000/2の下に私の理論を参照ください
は=最初の要素は、次の要素が250要素であり、500要素
2分の500です。
@Will 1000要素配列に0-999のインデックスがあることを知っていますので、最初に理解し始めますか? – dorakta
バイナリ検索では、配列がソートされていることが前提です。あなたの例では、499の項目が686の項目より大きいので、配列を昇順でソートすることはできません。配列は降順でソートされていますか?配列がソートされていない場合、バイナリ検索は機能しません。 –
@ Jim Mischel 499インデックスが5215、686インデックスが7282の場合はどうですか?申し訳ありません。 – dorakta