アルゴリズムとプログラミング

基本情報技術者試験次のデータ構造で目的の値を1個探索するときの平均計算量を比べる。最も速い(オーダが小さい)ものはどれか。ただし表…

テクノロジ系アルゴリズムとプログラミング計算問題難易度:normal
次のデータ構造で目的の値を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)より小さいオーダなので最も速く、正しい。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-a3-0132

【基本情報技術者試験】次のデータ構造で目的の値を1個探索するときの平均計算量を比べ…|正解「ハッシュ表を用いる探索」|ukamiru 過去問