アルゴリズムとプログラミング|平成30年度 秋期 ITパスポート試験(特別措置試験) 問76
複数のデータが格納されているスタックからのデータの取出し方として,適切なものはどれか。
- 格納された順序に関係なく指定された任意の場所のデータを取り出す。
- ✓ これが正解最後に格納されたデータを最初に取り出す。
- 最初に格納されたデータを最初に取り出す。
- データがキーをもっており,キーの優先度でデータを取り出す。
解説
最後に積んだものを最初に降ろす、後入れ先出しの入れ物です。
スタックは、積み上げるという意味の言葉です。机の上に本を積んでいくところを思うと分かります。取るのは、いちばん上、つまり最後に載せた一冊です。下のほうを先に抜くことはできません。この出し入れの決まりを後入れ先出しといいます。計算の途中の値を一時的に置く場所や、呼び出した処理から戻る先を覚えておく場所に使われます。積んだものを降ろすとき、上から順に取っていくので、入れた順と出す順がちょうど逆になります。三冊を1、2、3の順に積んだなら、出てくるのは3、2、1の順です。積む操作と降ろす操作の二つしかなく、途中を覗く操作は持ちません。対になるデータ構造がキューで、こちらは待ち行列とも呼ばれ、先に入れたものから出ていきます。窓口に並ぶ列と同じ順です。二つは向きがちょうど反対になります。
ほかの選択肢はなぜ違うのか
- 格納の順に関係なく、指定した任意の場所から取り出すという肢です。これは配列のような、番号で直接指せる並びの取り出し方です。スタックは上からしか触れません。大きさを先に決めておく必要があります。途中を抜くことはできません。
- 最初に入れたものを最初に取り出すという肢です。これはキューの決まりで、先入れ先出しといいます。スタックとちょうど反対です。割り込みを許さない仕組みです。印刷の順待ちがその例です。二つを取り違えると、そのまま逆の答えになります。
- データがキーを持ち、優先度の高いものから取り出すという肢です。これは優先度付きの待ち行列にあたります。入れた順ではなく、付けた重みで順番が決まります。同じ重みのものは入れた順で並びます。三つ目の別の決まりです。
この問題に関係する言葉
- スタック
- キュー
- 配列
- データ構造
- 待ち行列
出典:平成30年度 秋期 ITパスポート試験(特別措置試験) 問76
同じ単元をまとめて解くならアルゴリズムとプログラミングへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)