8. 队列(3)

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

相关文章
相关标签/搜索