對(duì)于Python除了基本的數(shù)據(jù)結(jié)構(gòu)外還有一些gao級(jí)數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)在進(jìn)行算法運(yùn)算時(shí)十分有用。下面融躍小編帶大家來了解一下。

1、棧

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

棧有兩種處理方式,即進(jìn)棧和出棧,進(jìn)棧時(shí)只需要移動(dòng)一個(gè)變量存儲(chǔ)空間,時(shí)間復(fù)雜度O(1);但是對(duì)于出棧分兩種情況,棧未滿時(shí),時(shí)間復(fù)雜度也為O(1),但是當(dāng)棧滿時(shí)需要中心分配內(nèi)存,并移動(dòng)棧內(nèi)所有數(shù)據(jù),所以此時(shí)的時(shí)間復(fù)雜度為O(n)。

免费提供FRM备考类问题解答,帮助您更轻松通过FRM专业考试
Crystal融跃教育FRM讲师
ACCA、CFA、FRM等国际证书多年教学经验,善于借助“图画记忆法”、“故事记忆法”、 “公式模板法”等帮助学生减少公式背诵的痛苦。学习方法简单易懂,准确把握考试重点。
免费咨询老师

Python中棧:在Python中,棧其實(shí)可以用更加簡(jiǎn)單的列表實(shí)現(xiàn),用append在末尾進(jìn)行增加元素操作,用pop刪除元素操作。

列表簡(jiǎn)單實(shí)現(xiàn):

隊(duì)列

普通方法實(shí)現(xiàn):

隊(duì)列

2、隊(duì)列

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

順序隊(duì)列

普通隊(duì)列實(shí)現(xiàn)

隊(duì)列

雙端隊(duì)列實(shí)現(xiàn)

隊(duì)列

以上就是關(guān)于Python*數(shù)據(jù)結(jié)構(gòu)的介紹,希望對(duì)你學(xué)習(xí)Python有所幫助。

特別驚喜:凡進(jìn)入融躍教育七月課程秒殺群,Python原價(jià)2580元金融實(shí)戰(zhàn)課,群內(nèi)售價(jià)僅需1499元?。ㄗ⒁?,群成員特享!進(jìn)群后,截圖發(fā)給客服領(lǐng)取低價(jià)購(gòu)買特權(quán)?。?/p>

那么我們?cè)撊绾芜M(jìn)群呢?

(掃下方二維碼,進(jìn)入專屬Q(mào)Q群,參加秒殺活動(dòng))

進(jìn)入專屬Q(mào)Q群