← Back to library
データ構造 AIに質問関連 1 問題

Stack

スタック

概要

LIFO(後入れ先出し)の線形データ構造。末尾への追加(push)と末尾からの取り出し(pop)のみを行うため、どちらも O(1)O(1)。括弧の対応付けや関数呼び出しの管理など、直近の状態を記憶したい場面で使う。Python では listappendpop がそのままスタックとして機能する。

計算量

操作平均最悪
プッシュ
ポップ
参照

学習メモ

再帰をスタックで書き直すと呼び出しオーバーヘッドと再帰深度制限を両方回避できる。実務では深い DFS ほどこの書き換えを優先する。