1. 程式人生 > >8. 隊列(3)

8. 隊列(3)

-s 鏈表 -a 4.4 實現 tom ddl mov .html

循環雙端對列

deque 在python裏的collections模塊裏面

可以查看官方文檔:

https://docs.python.org/3.6/library/collections.html#collections.deque

常用的方法有:

append(x) #O(1)

appendleft(x) #O(1)

pop() #O(1)

popleft() #O(1)


回顧之前循環雙端鏈表

平均時間復雜度:

循環雙端鏈表操作平均時間復雜度
cdll.append(value)O(1)
cdll.appendleft(value)O(1)
cdll.remove(node),註意這裏參數是 nodeO(1)
cdll.headnode()O(1)
cdll.tailnode()O(1)


所以用cdll就可以實現deque,只要繼承cdll的方法就行。

其中,append()和appendleft()在類中都有了,只需要實現pop()和popleft()操作就可以了,

借助cdll的remove()方法就可以實現。

8. 隊列(3)