
問題
500個の要素をもつ配列を線形探索するとき、探索キーと配列中の要素との平均比較回数をAとする。
また、昇順に整列された500個の要素をもつ配列を2分探索するとき、探索キーと配列中の要素との平均比較回数をBとする。
このとき、AはBの約何倍か。ここで、探索キーと一致する要素が、配列中に必ず存在するものとする。
答えは31倍なんですが。
自分の解釈としては、まず線形探索の最大比較回数=n
この場合だと500です。
この場合2分探索の最大比較回数=(log2N+1回)
を割れば何倍かがでてくるであっていますか??
それとバカな質問ですいません高校のときにlogをならっておらず
いまさら数学の先生がいなく理解にくるしんでいます。
(logとこの自分が考えてる解き方であっているか)回答おねがいします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の配列の全ての組み合わせ...
-
Excel VBA ユーザーフォームの...
-
重複しない乱数発生
-
隣同士の数字を足し合わせる
-
画面を強制的に再描画させる方法
-
流れ図(フローチャート)が分か...
-
DOSコマンドのループ内のTIMEコ...
-
VBAの変数は何故「i」から始ま...
-
ループ7回目の悪役令嬢は、元敵...
-
範囲指定したセルを1つずつ飛...
-
正しいWebBrowserの使い方(ル...
-
UWSCの終了の仕方
-
Excel VBA For Nextっていらな...
-
WinAPI「MsgWaitForMultipleObj...
-
perlでファイルの拡張子を除い...
-
Escキーを押すと、中断する時と...
-
EXCEL VBA ユーザーフォームの...
-
桁数指定と四捨五入
-
ウィーンブリッジ発進回路
-
ハッシュマーク以降のアドレス取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
エクセルVBAでTransposeの不思議
-
perlで2次元配列をサブルーチ...
-
Strawberry Perl for Windows ...
-
マクロ Publicでの配列定義
-
クラスに配列を渡す方法
-
リストボックスに縦スクロール...
-
二次元配列のインデックスについて
-
Dim flag(4) as boolean で配列...
-
与えられた配列の順にソートす...
-
Excel VBA ユーザーフォームの...
-
VBA 二次元配列の1つ目を増...
-
プログラミング アルゴリズム
-
複数の配列の全ての組み合わせ...
-
二次元配列における要素数のは...
-
VB6で配列の最大値を簡単に求め...
-
バイナリデータの検索(VB.NET2008)
-
VBA 二次元配列 ループの書き方
-
VBA 多次元配列を用いてグルー...
-
VBA 条件
おすすめ情報