問題
循環キュー(リングバッファ)の利点はどれか。
選択肢
- 1ア データを無限に格納できる
- 2イ 固定サイズのメモリを効率的に利用してキューを実現できる
- 3ウ ランダムアクセスが可能
- 4エ ソートが不要になる
正解
2. イ 固定サイズのメモリを効率的に利用してキューを実現できる
詳しい解説を見る解説を閉じる
解説
正解はイ。循環キュー(リングバッファ)は、固定長の配列の末尾と先頭を論理的につなぎ、データの追加位置と取出し位置を示す2つの添字を循環させて使うキューの実装方式である。添字の更新には剰余演算(添字 mod 配列長)を用いる。通常の配列でキュー(先入れ先出し:FIFO)を実現すると、先頭からの取出しのたびに残り要素を前へ詰める移動が必要になるか、取り出した領域が再利用されず無駄になるが、循環キューなら要素を移動せずに固定サイズのメモリを繰り返し利用できる。アは誤りで、容量は固定であり満杯になればそれ以上は格納できない。ウのランダムアクセスはキューの利用目的ではなく、エのソートとは無関係である。基本情報では、キュー=FIFO、スタック=LIFOという基本と、リングバッファの添字管理が頻出ポイントである。
一問一答
科目A 180問+科目B 60問