- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報処理技術者試験問題の解答への質問です。)
基本情報処理技術者試験問題の解答について質問
このQ&Aのポイント
- 基本情報処理技術者試験問題の解答についての質問です。現在、基本情報処理技術者試験問題を勉強しています。ネット上で見る解答と私が解くとの答えが異なっています。正しい解答を知りたいです。
- 基本情報処理技術者試験問題の解答の正しさについて質問です。私が問題を解いた際、ネット上の解答と異なる回数になってしまいます。どこが間違っているのか教えてください。
- 基本情報処理技術者試験問題の解答に関する質問です。問題の回答がネット上で確認できますが、私が解くと異なる回数になるという問題があります。どなたか正しい回答を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
aとbの比較について、通常「a<b(もしくはa>b)が成り立つかそうでないか」で比較一回になります。 一回の比較で「a<b」「a=b」「a>b」の三択が一つに絞り込めることにはなりません。 この三択から絞り込むには比較が2回必要になります。 (「a<b」かどうかと「a=b」かどうかを調べ、両方成り立たなければ「a>b」と判定、など)
その他の回答 (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
質問者
お礼
私が間違っていました。おっしゃっている内容がようやく理解できました。ありがとうございました。
質問者
補足
質問者より キー値の個数が3個の場合、真ん中を検査することにより、比較回数は1回で済むと思っています。 理由は、『該当するキーが必ず表中にあることが分かっている』からです。どうでしょうか?
補足
質問者です。 なるほど。 > 通常「a<b(もしくはa>b)が成り立つかそうでないか」で比較一回になります。 ということは、3個のデータについては、表の真ん中の値で比較すると、 試験値より大きければ最初の1つに、そうでなければ、真ん中と最後の値に絞り込まれる わけですね。 2分探索とは、2グループに分けてどちらに入るかで探索するやり方なのだと、今ようやく 理解しました。ありがとうございました。