循環雙端對列
html
deque 在python裏的collections模塊裏面node
能夠查看官方文檔:python
https://docs.python.org/3.6/library/collections.html#collections.deque app
經常使用的方法有:ide
append(x) #O(1)spa
appendleft(x) #O(1)orm
pop() #O(1)htm
popleft() #O(1)繼承
回顧以前循環雙端鏈表rem
平均時間複雜度:
循環雙端鏈表操做 | 平均時間複雜度 |
---|---|
cdll.append(value) | O(1) |
cdll.appendleft(value) | O(1) |
cdll.remove(node),注意這裏參數是 node | O(1) |
cdll.headnode() | O(1) |
cdll.tailnode() | O(1) |
因此用cdll就能夠實現deque,只要繼承cdll的方法就行。
其中,append()和appendleft()在類中都有了,只須要實現pop()和popleft()操做就能夠了,
藉助cdll的remove()方法就能夠實現。