• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報処理技術者試験問題の解答への質問です。)

基本情報処理技術者試験問題の解答について質問

このQ&Aのポイント
  • 基本情報処理技術者試験問題の解答についての質問です。現在、基本情報処理技術者試験問題を勉強しています。ネット上で見る解答と私が解くとの答えが異なっています。正しい解答を知りたいです。
  • 基本情報処理技術者試験問題の解答の正しさについて質問です。私が問題を解いた際、ネット上の解答と異なる回数になってしまいます。どこが間違っているのか教えてください。
  • 基本情報処理技術者試験問題の解答に関する質問です。問題の回答がネット上で確認できますが、私が解くと異なる回数になるという問題があります。どなたか正しい回答を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

aとbの比較について、通常「a<b(もしくはa>b)が成り立つかそうでないか」で比較一回になります。 一回の比較で「a<b」「a=b」「a>b」の三択が一つに絞り込めることにはなりません。 この三択から絞り込むには比較が2回必要になります。 (「a<b」かどうかと「a=b」かどうかを調べ、両方成り立たなければ「a>b」と判定、など)

noname#137540
質問者

補足

質問者です。 なるほど。 > 通常「a<b(もしくはa>b)が成り立つかそうでないか」で比較一回になります。 ということは、3個のデータについては、表の真ん中の値で比較すると、 試験値より大きければ最初の1つに、そうでなければ、真ん中と最後の値に絞り込まれる わけですね。 2分探索とは、2グループに分けてどちらに入るかで探索するやり方なのだと、今ようやく 理解しました。ありがとうございました。

その他の回答 (1)

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

キー値の個数   比較回数  1個        0回 2個       1回 3~4個       2回 5~8個       3回 9個~16個      4回 ・・・・ 1024~2048個    11回 ですね。 http://computer.trident.ac.jp/license/examin/j20-am_autumn.html

noname#137540
質問者

お礼

私が間違っていました。おっしゃっている内容がようやく理解できました。ありがとうございました。

noname#137540
質問者

補足

質問者より キー値の個数が3個の場合、真ん中を検査することにより、比較回数は1回で済むと思っています。 理由は、『該当するキーが必ず表中にあることが分かっている』からです。どうでしょうか?

関連するQ&A