アルゴリズムとプログラミング
基本情報技術者試験|次のデータ構造で目的の値を1個探索するときの平均計算量を比べる。最も速い(オーダが小さい)ものはどれか。ただし表…
次のデータ構造で目的の値を1個探索するときの平均計算量を比べる。最も速い(オーダが小さい)ものはどれか。ただし表引き方式は衝突が十分少ないものとする。
ア未整列の配列をなぞる線形探索
イ単方向連結リストをたどる探索
ウ平衡2分探索木をたどる探索
エハッシュ表を用いる探索
正解
エ.ハッシュ表を用いる探索
衝突が十分少なければハッシュ表はキーから格納位置を直接計算でき、要素数によらず平均O(1)で探索できる。O(log n)やO(n)より小さいオーダなので最も速く、正しい。
?選択肢ごとの解説
ア ×未整列配列の線形探索は先頭から全件を順に調べる可能性がありO(n)で、要素数に比例して遅くなるため最速ではない。
イ ×単方向連結リストもランダムアクセスできず先頭から順にたどるためO(n)であり、線形探索と同じく要素数に比例して遅い。
ウ ×平衡2分探索木はO(log n)でO(n)より速いが、要素数によらず一定のO(1)であるハッシュ表には平均で劣る。
エ ○衝突が十分少なければハッシュ表はキーから格納位置を直接計算でき、要素数によらず平均O(1)で探索できる。O(log n)やO(n)より小さいオーダなので最も速く、正しい。
アルゴリズムとプログラミングの他の問題
単純選択ソートで要素数nの配列を昇順に整列するとき、要素の比較回数は最悪・平均ともにおよそどれで表されるか。挿入ソートの計算量について最も適切に述べたものはどれか。シェルソートの基本的な考え方を最も適切に説明したものはどれか。ヒープソートの最悪計算量と安定性の組合せとして正しいものはどれか。衝突がほとんど起きないよう設計されたハッシュ表を用いた探索の、平均的な計算量はどれか。補間探索(内挿探索)が二分探索より高速に動作しやすいのは、データがどのような場合か。要素数16の配列をマージソートで整列する。配列を半分ずつに分割していくとき、要素数が1になるまでに必要な分割の段数は何段か。文字列照合のボイヤ・ムーア法(BM法)の特徴を最も適切に説明したものはどれか。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0132
