問題

問2 0000 ~ 4999のアドレスをもつハッシュ表があり,レコードのキー値からアドレスに変換するアルゴリズムとして基数変換法を用いる。キー値が55550のときのアドレスはどれか。ここで,基数変換法とは,キー値を11進数とみなし,10進数に変換した後,下4けたに対して0.5を乗じた結果(小数点以下は切捨て)をレコードのアドレスとする。

ア 0260
イ 2525
ウ 2775
エ 4405

テクノロジ系>基礎理論>アルゴリズムとプログラミング>アルゴリズム

解説と解答

 ハッシュ表とは,索引など高速に検索が必要な場合に利用されるデータ形式です。データを識別するキー値から,演算でデータの格納場所を求めることができます。本問は,ハッシュ表に関する知識がなくても,単純に数値変換の計算問題として解答することができます。

 まず,55550を11進数とみなし10進数に変換します。

 55550
=5×11^4+5×11^3+5×11^2+5×11^1+0×11^0
=5×(11^4+11^3+11^2+11)
=5×16104
=80520

 下4桁のみが計算対象のため,下4桁を抜き出し,0.5を乗じます。

=520×0.5
=260

 以上より,キーの値が55550のとき,アドレスは260となります。

 よって正解は,選択肢アです。

佐塚 彰夫(さづか あきお)
アイティ・アシスト 代表取締役
ITに関するコンサルティングや教育を実施するアイティ・アシストの代表。新人研修やプロジェクトマネージャ育成研修をはじめ,基本情報技術者試験,応用情報技術者試験,プロジェクトマネージャ試験などの試験対策研修の実績も豊富。著書に「短期完全マスター 基本情報技術者 2009年版」などがある。
■変更履歴
解説の計算式で5×11^4+5×11^3+5×11^2+5×11^1+5×11^0としていましたが,5×11^4+5×11^3+5×11^2+5×11^1+0×11^0の誤りです。お詫びして訂正します。本文は修正済みです。 [2010/01/14 17:15]