情報科学 › アルゴリズムとデータ構造 › 基本的なデータ構造
2 本のスタックによるキュー
定理 8.2(「基本的なデータ構造」§8) ・ ✓公理まで証明済み
全操作が最悪 Θ(1) 時間のスタック(例えば 命題 4.2 の 1 に基づく連結リスト実装)を 2 本用意し、in、out と呼ぶ。次のように操作を定める。
- enqueue(x):in に x を push する。
- dequeue():out が空ならば、in が空になるまで「in から pop して out に push」を繰り返す。その後 out が空ならエラー、そうでなければ out から pop して返す。
- front():同じ移送を行ったうえで out の top を返す。
このとき、この実装は 定義 7.1 の公理を満たす。さらに、空の状態から始めた任意の m 回の操作列の総コストは 3m 以下であり、1 操作あたりの償却計算量は O(1) である。ただし個々の dequeue の最悪計算量は、そのときの要素数を n として Θ(n) である。
本文で読む(証明と前後の説明)→
閉包の状態
✓ 公理まで証明済み
証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 1 件、定義なども含めて 2 件)。
印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。
前提をたどる 証明が使う定理・定義(直接 2 件)
▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。
これを使っている定理
証明で明示的に参照している定理は、まだありません。