基本情報技術者試験 / アルゴリズム(探索/ソート/再帰/DP)

【基本情報技術者試験】ハッシュ表においてキー値からハッシュ値を求めてデータを格納する際、異なるキーが同じハッシュ値になる衝突(シノニム)が発生…

問題 11 / 30(AIが出題範囲に沿って作成した演習問題。過去問ではありません)

ハッシュ表においてキー値からハッシュ値を求めてデータを格納する際、異なるキーが同じハッシュ値になる衝突(シノニム)が発生する。衝突解決法の一つである「チェイン法」に関する記述として、適切なものはどれか。

  1. 衝突が発生したとき、同一ハッシュ値をもつデータをポインタによる連結リストで管理する。
  2. 衝突が発生したとき、ハッシュ表内の別の空きバケットを一定の規則で順次探索して格納する。
  3. 衝突が発生したとき、別のハッシュ関数を用いてハッシュ表のサイズ自体を動的に2倍に拡張する。
  4. 衝突の発生を完全に防ぐために、あらかじめ登録キー数が決まっている場合にのみ適用できる。
  5. 衝突が発生したとき、二分探索木を用いてハッシュ表全体のインデックスを再構築する。
正解と解説を見る

正解: 衝突が発生したとき、同一ハッシュ値をもつデータをポインタによる連結リストで管理する。

正解は「衝突が発生したとき、同一ハッシュ値をもつデータをポインタによる連結リストで管理する。」です。チェイン法は、各バケットに連結リストの先頭ポインタを保持させ、衝突した要素をリストに追加していく方式です。「衝突が発生したとき、ハッシュ表内の別の空きバケットを一定の規則で順次探索して格納する。」はオープンアドレス法(線形走査法など)の説明です。「衝突の発生を完全に防ぐために…」は完全ハッシュ法に関する記述です。「別のハッシュ関数を用いて…動的に2倍に拡張する」や「二分探索木を用いて…再構築する」は一般的なチェイン法の手順ではありません。

基本情報技術者試験の重要用語

ホワイトボックステスト
プログラムの内部構造や制御の導線に着目し、ソースコードが設計通りに動作するかを確認するテスト手法です。条件分岐やループ処理などが正しく網羅されているかを検証します。主な網羅性の指標として、命令網羅や判定条件網羅などがあります。内部のロジックを詳細に追うため、主に開発者自身が行う単体テストの段階で実施されます。
システム監査
情報システムのリスクに対するコントロールが適切に整備・運用されているかを、独立した第三者が客観的に点検・評価することです。組織の目標達成に寄与し、不備があれば改善勧告を行います。試験では、監査人の「独立性」や「客観性」が重要視され、監査計画の策定から報告、フォローアップまでの一連の流れが頻出します。
OSI参照モデル
国際標準化機構(ISO)によって策定された、ネットワーク通信の機能を7つの階層に分割してモデル化したものです。物理層からアプリケーション層まで、各層が特定の役割を担うことで、異なるメーカーの機器間でも通信が可能になります。試験では、各階層の名称と役割、および代表的なプロトコルの対応関係を把握しておくことが非常に重要です。
ウォーターフォールモデル
開発工程を要件定義、設計、開発、テストといった順序で分割し、前の工程が完了してから次の工程へ進む開発手法です。進捗管理が容易で品質を確保しやすい一方、工程の差し戻しが発生すると多大なコストがかかる特徴があります。要件が明確な大規模プロジェクトに向いており、基本情報技術者試験では最も基本的な開発モデルとして頻出します。

用語をもっと見る →

基本情報技術者試験の問題をアプリで解く

全3,184問から毎回10問を出題。解説・AIへの質問・間違えた問題の復習で、無料で対策できます。