Python技術分享:內建資料結構之雙向佇列

千鋒武漢發表於2021-05-14

      Python語言內建了很多常見的資料結構,不僅能夠讓你的程式執行速度更快還能幫助你簡化開發流程,下面小千就來給大家介紹一下這個雙向佇列。

      collections模組中的deque類,就是雙向佇列,這種佇列可以從頭部或者尾部新增或者移除元素,這種操作的所消耗的時間時常數級別的,所以它非常合適表示先進先出的佇列。

雙向佇列

      這種情況下,也許有人會說列表也可以做這種操作的,那麼區別是什麼?區別是列表是單向的,在尾部新增或者移除資料的操作耗時是常數級別的,但是如果在頭部新增或者移除資料卻是線性級別(耗時與資料大小成正比)的,那麼對比雙向佇列來說,就慢許多了,可以看下面程式碼

雙向佇列2

      從上面兩組資料來看,列表list做先進先出操作耗時比雙向佇列deque完成相應的操作多很多的。所以要完成先進先出的佇列操作時應該選擇雙向佇列deque.

      以上就是Python雙向佇列的介紹了,同學們記得自己上手去試一試加深記憶


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2772257/,如需轉載,請註明出處,否則將追究法律責任。

相關文章