循环双端对列
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()方法就能够实现。