問題 No.1774
プログラムの関数呼び出しや割り込み処理において、処理の戻り番地を管理するために利用される、LIFO(Last In First Out)の特性を持つデータ構造はどれか。
【正解の解説】
スタック
スタックは、上からお皿を積み重ねていくイメージです。一番新しく上に置いたお皿を一番最初に取り出すのと同じで、最後に覚えた帰り道を最初に戻る関数呼び出しの仕組みによく似ています。
スポンサーリンク
【その他の選択肢の解説】
キュー
キューは、飲食店の行列やレジの順番待ちのようなもので、先に来た人が先に対応される仕組みです。最後に処理するスタックと混同しやすいため、初学者は「順番待ちの列(キュー)」と覚えると間違いません。
ヒープ
ヒープは、散らかったおもちゃ箱のように、必要なときに必要な大きさのスペースを自由にとって使う領域です。順番に積み上げるスタックとは異なり、どこからでもデータの出し入れができる点が大きく異なります。
ツリー
ツリーは、その名の通り「木」のように根から枝や葉へとデータが広がる構造です。一本の棒状にデータを積み上げるスタックとは異なり、複数の方向へ分岐していくため、用途が全く異なります。