第三章確認テスト
問1
窓口などの待ち行列を表現するには、次のどのデータ構造が最適が。
ア
木
イ
キュー
ウ
スタック
エ
リスト
問2
列に対して、データの挿入や削除が頻繁に発生し、かつ挿入や削除の場所がランダムであるような問題を表現するには、次のどのデータ構造が最適か。
ア
木
イ
キュー
ウ
スタック
エ
リスト
問3
オペレーティングシステム内の機能においても用いられている後入れ先出し(LIFO)の性質をもつデータ構造は次のどれか。
ア
木
イ
キュー
ウ
スタック
エ
リスト
問4
人間の親族関係のような階層構造を表現するには、次のどのデータ構造が最適か。
ア
木
イ
キュー
ウ
スタック
エ
リスト
問5
ハッシュ法を用いて、効率よく社員情報を検索するプログラムを作成することになった。
どのようなことに注意してハッシュ関数を作成すればよいか。
ア
すべての関数値が衝突するようなハッシュ関数を考える。
イ
絶対に衝突が起こらないようなハッシュ関数を考える。
ウ
できる限り衝突が起こらないようなハッシュ関数を考える。
エ
できる限り衝突が起こるようなハッシュ関数を考える。
問6
平均的に高速で、しかも最悪の場合でも極端に遅くならずに整列を行いたいとき、次のどの整列アルゴリズムを採用するのが最適か。
なお、記憶容量については考慮しない。
ア
クイックソート
イ
セレクションソート
ウ
バブルソート
エ
マージソート
問7
整列アルゴリズムの計算量を評価する場合、一般的に、次のどの点に最も注意すべきか。
ア
使用している変数の数
イ
データどうしの交換回数
ウ
データどうしの比較回数
エ
データの件数
問8
データ構造とそれに対する操作(手続き)を、1つにまとめて考えたものを何とよぶか。
ア
アルゴリズム
イ
概念データ型
ウ
抽象データ型
エ
流れ図
問9
ハッシュ法で、ハッシュ関数を用いて計算した結果が同じ値になり、衝突してしまったデータのことを何とよぶか。
ア
キュー
イ
シノニム
ウ
チェーン
エ
リスト
問10
整列アルゴリズムの中で、未整列部分の最大値(あるいは最小値)を探し、未整列部分の左側のデータと直接交換することを繰り返すことによって整列を行うものはどれか。
ア
クイックソート
イ
セレクションソート
ウ
バブルソート
エ
マージソート
問11
整列アルゴリズムの中で、基準値をもとに分割し、2つの分割にそれぞれ分割操作を再帰的に適用することによって整列を行うものはどれか。
ア
クイックソート
イ
セレクションソート
ウ
バブルソート
エ
マージソート
問12
整列アルゴリズムの中で、隣接する2つの要素どうしを配列の端から比較し、整列しようとしている大小関係を満たしていなければ交換するという作業を繰り返すことによって、整列を行うものはどれか。
ア
クイックソート
イ
セレクションソート
ウ
バブルソート
エ
マージソート
問13
数式(a+b)*(c+d)をポーランド記法で表現したものはどれか。
ア
*++abcd
イ
*+ab+cd
ウ
*a+bc+d
エ
ab+*c+d
問14
数式a*(b+c)を逆ポーランド記法で表現したものはどれか。
ア
+*abc
イ
*+abc
ウ
abc+*
エ
abc*+
TOPへ
第三章へ