データがより上(または下)にあることがひとつのデータをみただけでわかるのか?二分探索はデータが整列済みであることを前提としているからです。公式は使わないのか?例えば"き"を探すときは最大でも平均でもない比較回数(1回)になります。回数が最大か平均かを判断できない場合は公式は無意味です。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。17:35お返事遅くなり申し訳ありません。ものすごくわかりやすい解説かと存じますが、私の理解が追い付いてないです。1二分探索は、まず名前の通りデータを二分します。※切り捨て→データは8個しかないのになんで1+8なんですか?また、なんで切り捨てするのでしょうか?データから、4番目の"え"と"き"を比較すると、"き"のほうが大きいです。sはデータの5〜8にあることがわかります。2更に範囲内の中央を取るために平均を取ります。62では更に範囲内の中央を取るために平均を取ります。書いてあるのですが、1の計算は平均を取ってるものではなかったのですか?お返事遅くなり申し訳ありません。ものすごくわかりやすい解説かと存じますが、私の理解が追い付いてないです。二分探索は、まず名前の通りデータを二分します。データから、4番目の"え"と"き"を比較すると、"き"のほうが大きいです。sはデータの5〜8にあることがわかります。範囲内の中央を取るために平均を取ります。2では更に範囲内の中央を取るために平均を取ります。19:27横から失礼。1.要は、「真ん中」を知りたいのです。1〜8の真ん中は、並べてみると12345678の真ん中ですから、4と5の間になります。これを数値的に、(1+8)/2としています。この答えは4.5と出ますが、配列の番号として使う以上、整数にする必要があります。切り上げでも切り捨てでもいいのですが、一般的にコンピュータでの整数の除算は余り切り捨てで出るため、切り捨てを採用しています。2.これも、5〜8の「真ん中」を知りたいのです。説明は同じなので省略。1.要は、「真ん中」を知りたいのです。真ん中ですから、4と5の間になります。これを数値的に、(1+8)/2としています。この答えは4.5と出ますが、配列の番号として使う以上、整数にする必要があります。切り上げでも切り捨てでもいいのですが、一般的にコンピュータでの整数の除算は余り切り捨てで出るため、切り捨てを採用しています。2.これも、5〜8の「真ん中」を知りたいのです。説明は同じなので省略。23:10swordoneさん的確な回答ありがとうございます>1の計算は平均を取ってるものではなかったのですか?平均を取ってます。公式にするなら、(範囲の下限+範囲の上限)/2で平均が取れます。最初は1~8なので、これを代入して(1+8)/2としたわけです。8/2でもいいですが、それをすると2回目以降で同じ公式が使えなくなるので避けました。