基本情報技術者試験問題に挑戦しよう!「ハッシュ法」

パソコン ITの基礎

Amazon.co.jp

基本情報技術者試験とは

基本情報技術者試験は、情報処理推進機構(IPA)が実施し、「情報処理の促進に関する法律」に基づき経済産業省が認定する国家試験である。

ITエンジニアとしてキャリアをスタートする方のIT基礎力を問う試験で、「ITエンジニアの登竜門」とも言われる。

科目Aと科目Bの両科目で合格点を取らなければ、基本情報技術者試験の合格とはならない。

それでは、基本情報技術者試験(科目A)のサンプル問題にチャレンジしてみよう。

サンプル問題(科目A)

正解:イ

探索アルゴリズムとは

特定のデータを見つけ出すアルゴリズムである。

基本情報技術者試験では、「ハッシュ法」と「2分探索法」がよく出題される。

ハッシュ法とは

ハッシュ法とは、探索対象のデータをハッシュ値に変換し、このハッシュ値を使って目的のデータを見つける探索アルゴリズムである。

ハッシュ法を用いて、上図で、「32」を探索する手順を確認してみよう。

ハッシュ法では、ハッシュ関数を使って、探索対象となるデータをハッシュ値に変換する。

ハッシュ値とは、ハッシュ関数の出力である。

代表的なハッシュ関数の一つに「剰余」がある。modで表す。このハッシュ関数を「入力された値を10で割った余りを出力する」関数とすると、「32」を入力して、「2」が出力される。(32÷10の余りは2)この場合、ハッシュ値は「2」となる。

目的のデータは、このハッシュ値を添字とした、配列の要素に格納される。

このようにハッシュ値を添字にもつ配列を「ハッシュ表」という。

この例では、添字が「2」である格納場所(添字)を探索すると、探索対象である「32」を1回で見つけることができる。

問題では、ハッシュ関数にデータを当てはめてハッシュ値を計算する。

mod(5+4+3+2+1,13) = mod(15,13) = 2

となる。

(参考)【令和6年度】 いちばんやさしい 基本情報技術者 絶対合格の教科書+出る順問題集

Amazon.co.jp

コメント

タイトルとURLをコピーしました