python中基本資料結構(一)

2022-09-03 23:09:20 字數 1360 閱讀 3296

1- 什麼是棧?

乙個棧是乙個項的有序集合。新增項和移除項都在同一端,這一端被稱為『棧頂』。另一端被稱為『棧底』。

棧使用的是後進先出原則即『lifo』原則,也就是說最新新增的項在移除時是第乙個被移除的。在日常生活中有很多例子比如說在餐廳中有一堆餐盤,我們拿走的是最頂上的乙個,排在我們後面的人將拿走下乙個。

例如:有乙個棧,棧內元素為(棧底——棧頂)1,2,3,4,5,6,7,8  取出5的順序為

次數    元素        棧內元素      

第一次  取出棧頂元素  8    1,2,3,4,5,6,7

第二次  取出棧頂元素  7    1,2,3,4,5,6

第三次  取出棧頂元素  6    1,2,3,4,5

第四次  取出棧頂元素51,2,3,4

第四次取到了棧內元素5

2- 棧的基本操作

1

class

stack():2#

初始化棧

3def

__init__

(self):

4 self.__items =56

#將新項新增到堆疊的頂部。它需要引數item並且沒有返回值。

7def

push(self,item):

8 self.__items910

#從棧頂刪除項它不需要引數,返回item,棧被修改。

11def

pop(self):

12if self.__items ==:

13return

14return self.__items

.pop()

1516

#返回棧頂的項,不刪除它。它不需要引數。堆疊不被修改。

17def

peek(self):

18if self.__items ==:

19return

20return self.__items[len(self.__items)-1]

2122

#測試看棧是否為空。它不需要引數,返回乙個布林值。

23def

isempty(self):

24return self.__items ==

2526

#返回棧的專案數。它不需要引數,返回乙個整數。

27def

size(self):

28return len(self.__items)

stack**

棧方法:

Python 基本資料結構

列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...

python 基本資料結構

1.切片 sname start?step sname 為序列名稱 start 不指定 預設為0 包含 end 不包含 step 不指定 預設為1 2.序列可以通過 相加 song1 a,b song2 c,d print song1 song2 3.序列相乘 song1 a print song1...

python中基本資料結構(四)

二叉樹是每個結點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹的建立 建立二叉樹節點 class treenode object 初始化節點 def init self,data,left node none,right no...