遞歸
通俗理解1:一個洋蔥是帶著一層洋蔥皮的洋蔥。
通俗理解2:當學(xué)習(xí)一個新知識點時,發(fā)現(xiàn)需要弄清另一個知識點,于是不斷的去查詢另一個知識點,最終從基礎(chǔ)知識點盤到需要學(xué)習(xí)的知識點??梢岳斫獬啥砹_斯套娃。
代碼理解:函數(shù)內(nèi)部調(diào)用函數(shù)自身的函數(shù)。python示例:
"""遞歸"""
# 定義函數(shù)recursio,
def recursio2zero(n):
"""入傳遞進函數(shù)的參數(shù)值不斷進行地板除(取整除),直到整除為0,函數(shù)結(jié)束"""
v = n // 2
print(v)
if v == 0:
return
v = recursio2zero(v)
recursio2zero(20)
返回結(jié)果:
D:\python_pycharm\venv\Scripts\python.exe C:/Users/Administrator/Desktop/django-project/mysite/keithyang/test.py
10
5
2
1
0
隊列
一種數(shù)據(jù)結(jié)構(gòu)線性表。

D}%64HJ4)VSI($OMT~_QTG6.png
線性表通俗理解:一種存儲結(jié)構(gòu)。將具有“一對一”關(guān)系的數(shù)據(jù)“線性”地存儲到空閑的物理空間中。
隊列通俗理解:排隊。如演唱會入口排隊檢票規(guī)定隊伍總長為10人,前面的人進去一個,后面才能補上一個。
代碼理解:線性表中允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。適用于多線程編程。
python中有四種隊列方法:先進先出,后進后出。
示例:
python
"""先進先出隊列"""
import queue
# print('aa')
# python中引入內(nèi)置庫queue導(dǎo)入隊列
# 創(chuàng)建隊列對象q
# maxsize該隊列數(shù)據(jù)上限,超過將將阻塞代碼。直到數(shù)據(jù)被消費掉,0為不限制
q = queue.Queue(maxsize=6)
q.put([1,2])
#寫入隊列數(shù)據(jù)
for i in range(5):
q.put(i)
#輸出當前隊列所有數(shù)據(jù)
print(q.queue)
#刪除隊列數(shù)據(jù),并返回該數(shù)據(jù)
q.get()
#打印所有隊列數(shù)據(jù)
print(q.queue)
#刪除隊列數(shù)據(jù),并返回該數(shù)據(jù)
q.get()
#打印所有隊列數(shù)據(jù)
print(q.queue)
控制臺輸出:
deque([[1, 2], 0, 1, 2, 3, 4])
deque([0, 1, 2, 3, 4])
deque([1, 2, 3, 4])