3.1.1. 両端キュー¶
実装¶
概要¶
Pythonには連結リストで実装された collections.deque があり、これを利用できる。
計算量¶
操作 |
メソッド |
計算量 |
---|---|---|
末尾に追加 |
|
\(\mathcal{O}(1)\) |
先頭に追加 |
|
\(\mathcal{O}(1)\) |
末尾を削除 |
|
\(\mathcal{O}(1)\) |
先頭を削除 |
|
\(\mathcal{O}(1)\) |
末尾を参照 |
|
\(\mathcal{O}(1)\) |
先頭を参照 |
|
\(\mathcal{O}(1)\) |
要素数を取得 |
|
\(\mathcal{O}(1)\) |
使用例¶
[1]:
from collections import deque
q = deque()
q.append(1)
q.append(2)
q.append(3)
q.append(4)
print(q.pop())
print(q[-1])
print(q.popleft())
print(q[0])
print(len(q))
4
3
1
2
2