python的資料結構

2022-08-24 22:15:08 字數 1996 閱讀 3224

資料結構概述

>>什麼是資料結構:資料儲存的方式

>>資料結構例項:

>>內建資料結果:列表,元祖

#列表  可以取出來

['abc','bcd','cde']

#元祖  不可取出來,元素不可以更改

('abc','bcd','cde')

#字典  按名稱訪問

>>資料結構與演算法的關係

資料結構是靜態的,演算法是動態的,資料結構是演算法的基礎,相同的資料結構運用不同的演算法有不同的效率,兩者相輔相成

資料結構——棧

>>什麼是棧:

是一種資料結構,不是內建資料結構。相當於一端開口一端封閉的容器,只能對新進入的資料進行操作

>>棧的實現

class

st():

def__init__

(st,num):

st.stack=

st.num=num

st.top=-1

defpush(st,con):

ifst.full():

print('

st is full!!')

else

: st.top=st.top+1

defout(st):

ifst.empty():

print('

stack is empty')

else

: st.top=st.top=-1

deffull(st):

if st.top==st.num:

return

'y'

else

:

return

'n'

defempty(st):

if st.tip==-1:

return

'y'

else

:

return 'n'

資料結構——佇列

>>什麼是佇列:

是一種資料結構,不是內建資料結構。相當於兩端都開的容器,一端只能進行插入操作(隊尾),一端只能進行刪除操作(對首)

>>佇列的實現:

class

qu():

def__init__

(qu,num):#初始化

qu.que=  #列表宣告

qu.num=num  #佇列容量

qu.head=-1  #隊首位置qu.tail=-1  #隊尾位置

defempty(qu):  #判斷佇列是否為空

if qu.head==qu.tail:  #如果隊首位置等於隊尾位置

return'y

'      #返回y表示隊列為空

else

:

return'n

'def

full(qu):  #判斷佇列是否滿

if qu.tail-qu.head+1==qu.num:  #如果隊尾位置減去隊首位置+1=佇列容量

return'y

'           #返回y表示隊列為滿

else

:

return'n

'def

enqu(qu,con):

ifqu.full():

print('

qu is full!!')

else

: qu.tail=qu.tail+1

defout(qu):

ifqu.empty():

print('

qu is empty!')

else

: qu.head=qu.head+1

Python的資料結構

定義乙個列表 用中括號包起來的,為列表 a 定義乙個空列表 a list 通過函式定義乙個空列表,也可以把其他可迭代物件轉化為列表 a 1,2,3 列表的索引 列表的索引,也就是指列表中值的位置 從左往右,索引從0開始 從右往左,索引從 1開始 可以通過索引取值 可以取單個值 可以取多個值 a li...

python資料結構

資料結構是一種結構,它們用以把一些資料儲存在一起。在python中有三種內建的資料結構 列表 list 元組 tuple 字典 dictionary 列表由一對方括號括起來,其中的專案之間以逗號分隔。你可以在列表中增加 刪除 查尋專案。示例如下 python using list.py 這兒有 4 ...

python 資料結構

刪除元素 remove,pop,del set是乙個無序的,不重複的元素集合 set中每個元素都是可雜湊的,但是set不是可雜湊的。相對應的frozenset,可hash,可以作為keys存在於dict中 支援 x in set,len set for x in set,不支援slice等序列操作 ...