版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python入門與基Queue&Stack老掃 獲 :知乎專欄 : 官網(wǎng): Copyright? 請(qǐng)不要缺Copyright? 本節(jié)棧原理及實(shí)隊(duì)列原理實(shí)現(xiàn)及使用Python的Queue模算法的時(shí)間、空間復(fù)雜Copyright? 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)=數(shù)據(jù) 方式+操數(shù)據(jù) 什么數(shù)據(jù)?如int,string類方式-如何組織數(shù)據(jù),數(shù)據(jù)之間的關(guān)系操作-如何快速 查詢數(shù)據(jù),寫入數(shù)據(jù)到數(shù)據(jù)結(jié)構(gòu)中寫入數(shù)數(shù)
數(shù)據(jù)結(jié)
654321654321數(shù)據(jù)結(jié)構(gòu)不要求數(shù)據(jù)的順序 成本比如:List列125-3222Copyright? 數(shù)據(jù)結(jié)構(gòu) 1248插入數(shù)Copyright? 什么是棧棧是一種后進(jìn)先出(lastinfirstout,LIFO)的線性數(shù)據(jù)結(jié)Copyright? 棧的操 彈出一個(gè)元素 獲取棧頂元素empty判斷棧是否為空Copyright? Copyright棧的操作示 CopyrightStackStackReturn32棧的實(shí)使用基于List實(shí)現(xiàn)Copyright? 面 ImplementImplement /en/problem/implement- /solutions/implement-Copyright? 面 ValidValid Copyright? Queue隊(duì)Copyright? 隊(duì)什么是隊(duì)列里排隊(duì)打過安檢的時(shí)候排隊(duì)列是一種先進(jìn)先出(firstinfirstout,F(xiàn)IFO)的線性數(shù)據(jù)結(jié)Copyright? Queue提供的接口Queue()定義一個(gè)空隊(duì)列,無參數(shù),返回值是空隊(duì)enqueue(item)在隊(duì)列尾部加入一個(gè)數(shù)據(jù)項(xiàng),參數(shù)是數(shù)據(jù)項(xiàng),無返回dequeue()刪除隊(duì)列頭部的數(shù)據(jù)項(xiàng),不需要參數(shù),返回值是被刪除的據(jù),隊(duì)列本身有變isEmpty()檢測(cè)隊(duì)列是否為空。無參數(shù),返回布爾size()返回隊(duì)列數(shù)據(jù)項(xiàng)的數(shù)量。無參數(shù),返回一個(gè)整Copyright? 隊(duì)列提供Queue模塊中隊(duì)列的提供的結(jié)putenqueue)元素進(jìn)隊(duì)getdequeue)元素出對(duì)
判斷隊(duì)列是為Copyright? 隊(duì)隊(duì)列的實(shí)使用ListNode實(shí)現(xiàn)使用Queue模Copyright? 基于ListNode的1543Copyright? put插入一個(gè)Value-1543Copyright? get取出隊(duì)列頭部元素的1543得到Head指1543Head往后移動(dòng)來到下一個(gè)返回1這個(gè)Copyright? empty判斷對(duì)列為1543Copyright? 面 ImplementQueuebyLinkedImplementQueuebyLinked Copyright? Python提供的Queue模Python中隊(duì)列是線程間最常用的交換數(shù)據(jù)的方式(在爬蟲中我們會(huì)使用它如果maxsize小于1就表示隊(duì)列長度無
定隊(duì)列長Copyright? PUT元素放入隊(duì)put()方法在 入一個(gè)元素,如果隊(duì)列是滿的,該線程會(huì)阻塞(等待),到空出一個(gè)位置來,然后在隊(duì)尾放入元Copyright? get()方法從隊(duì)頭刪除并返回一個(gè)項(xiàng)目,隊(duì)列為空默認(rèn)為阻塞線程(等待)到有元素放入到隊(duì)列之后,將其取走Copyright? Python使用Queue實(shí)現(xiàn)生產(chǎn)者消費(fèi)什么是生產(chǎn)者消費(fèi)者模當(dāng)某模塊或者組件負(fù)責(zé)生產(chǎn)數(shù)據(jù),然后這些數(shù)據(jù)由其他模塊或者組件負(fù)責(zé)處理(此處的模塊可能是:函數(shù)、線程、進(jìn)程等產(chǎn)生數(shù)據(jù)的模塊或者組件稱為生產(chǎn)者,而處理數(shù)據(jù)的模塊稱為消費(fèi)在生產(chǎn)者與消費(fèi)者之間有緩沖區(qū),生產(chǎn)者負(fù)責(zé)往緩沖區(qū)放數(shù)據(jù),消費(fèi)負(fù)責(zé)從緩沖 數(shù)據(jù),這就形成了生產(chǎn)者消費(fèi)者模式Copyright? 生產(chǎn)者消費(fèi)生產(chǎn)生產(chǎn)
生產(chǎn)
消費(fèi)消費(fèi)
消費(fèi)生產(chǎn)
消費(fèi)
消費(fèi)Copyright? 生產(chǎn)者消費(fèi)者模式的優(yōu)解如果消費(fèi)者直接調(diào)用生產(chǎn)者的代碼碼會(huì)相互產(chǎn)生依賴(耦合通過中間的緩沖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024買賣房產(chǎn)合同樣本
- 女裝批量采購合同
- 醫(yī)院勞動(dòng)合同書2024年
- 房屋合同法律效力分析
- 2024年小區(qū)物業(yè)管理系統(tǒng)合同
- 2024年度XX房地產(chǎn)營銷代理合同
- 工程代理加盟居間合同樣本
- 旅游客運(yùn)車輛包車合同
- 2024代理商分銷合同探討與研究
- 2024養(yǎng)豬場(chǎng)荒山租賃合同
- 十字相乘法解一元二次方程練習(xí)100題及答案
- 中外合作辦學(xué)規(guī)劃方案
- 廠房屋頂光伏分布式發(fā)電項(xiàng)目建議書
- 2024年人教版初一道德與法治上冊(cè)期中考試卷(附答案)
- 2024年第九屆“鵬程杯”六年級(jí)語文邀請(qǐng)賽試卷(復(fù)賽)
- 國開2024年《建筑結(jié)構(gòu)#》形考作業(yè)1-4答案
- DL-T1475-2015電力安全工器具配置與存放技術(shù)要求
- 漏檢分析改善措施
- 新制定《公平競(jìng)爭審查條例》學(xué)習(xí)課件
- TD/T 1060-2021 自然資源分等定級(jí)通則(正式版)
- 完整加快發(fā)展新質(zhì)生產(chǎn)力課件
評(píng)論
0/150
提交評(píng)論