配列の添字を利用した整列(ビンソート)【基本情報技術者試験 科目B サンプル問題】

(令和4年度12月公開) 基本情報技術者試験 サンプル問題 科目B 問11のブログのアイキャッチ画像 科目B 公開問題
広告

← 科目Bの公開問題一覧へ戻る

 基本情報技術者試験の科目Bのサンプル問題を題材に,配列の添字を利用した整列について学習します。この問題では,データの値を配列の添字として利用して,値を昇順に並べる処理を確認します。

広告

(令和4年度12月公開) 基本情報技術者試験 サンプル問題 科目B 問11

 次の記述中の       に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。

 関数 binSort を binSort(       ) として呼び出すと,戻り値の配列には未定義の要素は含まれておらず,値は昇順に並んでいる。

〔プログラム〕

○整数型の配列: binSort(整数型の配列: data)

 整数型: n ← dataの要素数

 整数型の配列: bins ← {n個の未定義の値}

 整数型: i

 for (i を 1 から n まで 1 ずつ増やす)

  bins[data[i]] ← data[i]

 endfor

 return bins

解答群

ア {2,6,3,1,4,5}イ {3,1,4,4,5,2}
ウ {4,2,1,5,6,2}エ {5,3,4,3,2,6}

【解答】

【解説】

binSort は,データの値を配列 bins の添字として利用して,その位置にデータを格納する処理である。戻り値に未定義の要素を含めず,昇順に並べるには,data に 1~n の整数が重複なく1回ずつ含まれている必要がある。例えば,data = {2,6,3,1,4,5} の場合,それぞれの値を添字として格納すると,bins は {1,2,3,4,5,6} となる。

【参考】

「(令和4年度12月公開) 基本情報技術者試験 サンプル問題 科目B 問11」の解答画像

この問題のポイント

 この問題から学べることは,

  • データの値を配列の添字として利用する方法
  • bins[data[i]] ← data[i] の処理
  • データの値と配列の添字の関係
  • 配列の添字を利用してデータを昇順に並べる方法

です。特に,データの値を配列の添字として利用して整列する方法を理解しておきましょう。このような方法をビンソートといいます。

基本情報技術者試験の学習におすすめの参考書

基本情報技術者試験の合格を目指す方におすすめの参考書です。

令和08年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室
基礎理論からコンピュータ・ネットワーク・データベースまで、基本情報技術者試験の全範囲をわかりやすく学べる定番テキストです。図解が豊富で、初学者にもおすすめです。

キタミ式イラストIT塾 基本情報技術者 令和08年
イラストを使った解説が特徴の人気参考書です。基礎理論の考え方や計算問題もイメージで理解しやすく、独学学習との相性が良い一冊です。

令和08年 基本情報技術者 合格教本
試験範囲を体系的に学習したい方におすすめの教科書です。基礎理論の各テーマも丁寧に解説されており、理解を深めながら学習を進められます。

学習のお役に立ちましたら

この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。

よろしければ、このサイトを応援いただけますと嬉しいです。

※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

広告