• 締切済み

基本情報技術者での質問です。

問題 500個の要素をもつ配列を線形探索するとき、探索キーと配列中の要素との平均比較回数をAとする。 また、昇順に整列された500個の要素をもつ配列を2分探索するとき、探索キーと配列中の要素との平均比較回数をBとする。 このとき、AはBの約何倍か。ここで、探索キーと一致する要素が、配列中に必ず存在するものとする。 答えは31倍なんですが。 自分の解釈としては、まず線形探索の最大比較回数=n この場合だと500です。 この場合2分探索の最大比較回数=(log2N+1回) を割れば何倍かがでてくるであっていますか?? それとバカな質問ですいません高校のときにlogをならっておらず いまさら数学の先生がいなく理解にくるしんでいます。 (logとこの自分が考えてる解き方であっているか)回答おねがいします。

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

質問カテゴリは次が適切です。 ビジネス・キャリア > 資格 > 情報処理技術者 -------- 平均比較回数なので,Aは Nではなく N/2。 Bは log2N+1ではなく [log2N]です。 (ガウス記号の説明は http://okwave.jp/qa/q82468.html ) A=500/2 =250回。 log2N とは 2のx乗=N となるxのことなので, 2のx乗=500となるxをガウス記号で整数化した[x]は 2の8乗(=256) ≦ 500 < 2の9乗(=512) より,x=8回。 よって,250/8=31.25

関連するQ&A

専門家に質問してみよう