スタック
Stack
すたっく
他の資格での定義
データの挿入と取り出しが同じ端(先頭)から行われるデータ構造。LIFO(Last In, First Out:後入れ先出し)の原則に従う。関数の呼び出し管理、括弧の対応チェック、逆ポーランド記法の計算に使用される。
LIFO(Last In First Out)方式でデータの出し入れを行うデータ構造。プッシュ(追加)とポップ(取出し)の2つの操作を持つ。関数呼出しの管理、式の評価、Undo機能の実装などに利用される。
後入れ先出し(LIFO)のデータ構造。関数の呼び出し時にリターンアドレス、引数、ローカル変数を格納するコールスタックとして使用される。組込みシステムではスタックサイズの管理が重要で、スタックオーバーフローは深刻な不具合の原因となる。
関連キーワードの用語
データを一列に並べたデータ構造。各要素が次の要素へのポインタを持つ連結リストと、配列で実現するリストがある。要素の挿入・削除が容易な特徴を持つ。
先に入れたデータを先に取り出すFIFO(First In First Out)方式のデータ構造。プリンターの印刷待ちやプロセスのスケジューリングなどに利用される。
データが親子関係を持つ階層的なデータ構造。最上位のノードを根(ルート)、末端のノードを葉(リーフ)と呼ぶ。ファイルシステムのディレクトリ構造が代表例である。
各ノードが最大2つの子ノードを持つ木構造。2分探索木では、左の子は親より小さく右の子は親より大きい値を格納し、効率的なデータの探索が可能である。
同じ型のデータを連続したメモリ領域に格納するデータ構造。添字(インデックス)を用いて各要素に直接アクセスできるため、要素の参照が高速である。
関連する複数のデータ項目(フィールド)をひとまとまりにしたデータ構造。データベースではテーブルの1行(ロウ)に相当し、一人分の顧客情報や一件分の注文情報など、1件分のデータを表す。