Python語言內(nèi)置了很多常見的數(shù)據(jù)結(jié)構(gòu),不僅能夠讓你的程序運行速度更快還能幫助你簡化開發(fā)流程,下面小千就來給大家介紹一下這個雙向隊列。
collections模塊中的deque類,就是雙向隊列,這種隊列可以從頭部或者尾部添加或者移除元素,這種操作的所消耗的時間時常數(shù)級別的,所以它非常合適表示先進(jìn)先出的隊列。
這種情況下,也許有人會說列表也可以做這種操作的,那么區(qū)別是什么?區(qū)別是列表是單向的,在尾部添加或者移除數(shù)據(jù)的操作耗時是常數(shù)級別的,但是如果在頭部添加或者移除數(shù)據(jù)卻是線性級別(耗時與數(shù)據(jù)大小成正比)的,那么對比雙向隊列來說,就慢許多了,可以看下面代碼
從上面兩組數(shù)據(jù)來看,列表list做先進(jìn)先出操作耗時比雙向隊列deque完成相應(yīng)的操作多很多的。所以要完成先進(jìn)先出的隊列操作時應(yīng)該選擇雙向隊列deque.
以上就是Python雙向隊列的介紹了,同學(xué)們記得自己上手去試一試加深記憶,最后歡迎對Python感興趣的同學(xué)來到千鋒Python培訓(xùn)班了解我們的Python學(xué)習(xí)課程,全程名師面授課程,更有兩周免費試聽不滿意不繳費,趕緊來咨詢一下吧。