重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

問題
500個の要素をもつ配列を線形探索するとき、探索キーと配列中の要素との平均比較回数をAとする。
また、昇順に整列された500個の要素をもつ配列を2分探索するとき、探索キーと配列中の要素との平均比較回数をBとする。
このとき、AはBの約何倍か。ここで、探索キーと一致する要素が、配列中に必ず存在するものとする。

答えは31倍なんですが。

自分の解釈としては、まず線形探索の最大比較回数=n
この場合だと500です。

この場合2分探索の最大比較回数=(log2N+1回)

を割れば何倍かがでてくるであっていますか??

それとバカな質問ですいません高校のときにlogをならっておらず

いまさら数学の先生がいなく理解にくるしんでいます。

(logとこの自分が考えてる解き方であっているか)回答おねがいします。

A 回答 (1件)

質問カテゴリは次が適切です。


ビジネス・キャリア > 資格 > 情報処理技術者

--------
平均比較回数なので,Aは Nではなく N/2。
Bは log2N+1ではなく [log2N]です。
(ガウス記号の説明は http://oshiete.goo.ne.jp/qa/82468.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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!