情報科学 › アルゴリズムとデータ構造 › 基本的なデータ構造

リングバッファ

命題 7.2(「基本的なデータ構造」§7) ・ ✓公理まで証明済み

容量 mm の配列 A[0..m−1]A[0..m-1]、先頭位置 hh(0≤h≤m−10 \le h \le m-1)、要素数 nn(0≤n≤m0 \le n \le m)を保持し、次のように操作を定める。

  • enqueue(x)\mathrm{enqueue}(x):n<mn < m のとき A[(h+n) mod m]←xA[(h + n) \bmod m] \leftarrow x、n←n+1n \leftarrow n + 1。
  • dequeue()\mathrm{dequeue}():n>0n > 0 のとき戻り値を A[h]A[h] とし、h←(h+1) mod mh \leftarrow (h + 1) \bmod m、n←n−1n \leftarrow n - 1。
  • front()\mathrm{front}():n>0n > 0 のとき A[h]A[h] を返す。

このとき、キューの内容を先頭から順に q0,q1,…,qn−1q_0, q_1, \ldots, q_{n-1} とすると、常に qi=A[(h+i) mod m]q_i = A[(h + i) \bmod m] が成り立ち、定義 7.1 の公理が満たされる。また 3 つの操作はいずれも最悪 Θ(1)\Theta(1) 時間である。

本文で読む(証明と前後の説明)→

閉包の状態

✓ 公理まで証明済み

証明が使う定理を 前提 としてたどると、Rikai の中の証明だけで定義・公理(物理では基本仮定)までつながっています(前提の定理類 1 件、定義なども含めて 3 件)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

前提をたどる 証明が使う定理・定義(直接 2 件)

▸ を開くと、その項目の証明が使う前提が出ます。深い先は各項目のページでたどれます。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 1 問