python collection 中的佇列
阿新 • • 發佈:2018-10-31
認識中的佇列
在以前的認知裡,佇列是先進先出,就是一頭進,一頭出,Queue。而無意間看到了deque 雙向佇列。
即從該佇列的頭或者尾部都能插入和移除元素。而起時間複雜度竟然是一樣的!O(1),是不是想起了和列表
有點像,但列表從尾部和頭部刪除或插入的時間複雜度可差別很大的。但還是有點相像。
雙向列表的屬性和方法
rom collections import deque #例項化一個deque佇列 d=deque() #list list_obj = list() print(d) #從右邊插入資料 d.append("yang") list_obj.append("yang") #add one record from left d.appendleft("zhang") print(d) # for item in d: print(item) #the len print("the len of duque is {}".format(len(d))) #pop one from right d.pop() print(d) d.append("yang") #pop item from left d.popleft() d.appendleft("zhang") #雙向佇列中元素"zhang"的個數 print(d.count("zhang"))#佇列d右邊擴充套件多個元素 d.extend("test") # d.extendleft("left") #預設向右旋轉,步長為1, 如果步長為-1則向左旋轉 d.rotate() print(d)