遞歸、數(shù)據(jù)結(jié)構(gòu)中的隊列(python筆記)

遞歸

通俗理解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])

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容