資料結構概述
>>什麼是資料結構:資料儲存的方式
>>資料結構例項:
>>內建資料結果:列表,元祖
#列表 可以取出來['abc','bcd','cde']
#元祖 不可取出來,元素不可以更改
('abc','bcd','cde')
#字典 按名稱訪問
>>資料結構與演算法的關係
資料結構是靜態的,演算法是動態的,資料結構是演算法的基礎,相同的資料結構運用不同的演算法有不同的效率,兩者相輔相成
資料結構——棧
>>什麼是棧:
是一種資料結構,不是內建資料結構。相當於一端開口一端封閉的容器,只能對新進入的資料進行操作
>>棧的實現
classst():
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'
資料結構——佇列
>>什麼是佇列:
是一種資料結構,不是內建資料結構。相當於兩端都開的容器,一端只能進行插入操作(隊尾),一端只能進行刪除操作(對首)
>>佇列的實現:
classqu():
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等序列操作 ...