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()方法就能夠實現。

相關文章
相關標籤/搜索