對于Python除了基本的數據結構外還有一些gao級數據結構,這些數據結構在進行算法運算時十分有用。下面融躍小編帶大家來了解一下。

1、棧

棧是一種線性表,只允許從一段插入和刪除數據,棧的插入和刪除只能在棧頂進行。棧有兩種存儲方式,即線性存儲和鏈接存儲(鏈表)。所以每次刪除的元素都是*后進棧的元素,故棧也被稱為后進先出表。每個棧都有一個棧頂指針,他的初始值為-1,且總是指向*后一個入棧的元素。

棧有兩種處理方式,即進棧和出棧,進棧時只需要移動一個變量存儲空間,時間復雜度O(1);但是對于出棧分兩種情況,棧未滿時,時間復雜度也為O(1),但是當棧滿時需要中心分配內存,并移動棧內所有數據,所以此時的時間復雜度為O(n)。

Python中棧:在Python中,棧其實可以用更加簡單的列表實現,用append在末尾進行增加元素操作,用pop刪除元素操作。

列表簡單實現:

隊列

普通方法實現:

隊列

2、隊列

隊列是一種特殊的線性表,和棧類似,但是允許表的前面進行刪除操作,而在標的后面進行插入操作,也是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。分為順序隊列和循環隊列。

順序隊列

普通隊列實現

隊列

雙端隊列實現

隊列

以上就是關于Python*數據結構的介紹,希望對你學習Python有所幫助。

特別驚喜:凡進入融躍教育七月課程秒殺群,Python原價2580元金融實戰課,群內售價僅需1499元!(注意,群成員特享!進群后,截圖發給客服領取低價購買特權!)

那么我們該如何進群呢?

(掃下方二維碼,進入專屬QQ群,參加秒殺活動)

進入專屬QQ群