91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的隊列是什么

發布時間:2021-08-12 15:12:24 來源:億速云 閱讀:202 作者:chen 欄目:大數據

這篇文章主要介紹“Python中的隊列是什么”,在日常操作中,相信很多人在Python中的隊列是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中的隊列是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

什么是隊列?

隊列是一種有序的數據集合  
  • 新數據項的添加總發生在一端——隊尾(rear)
  • 現存數據項的移除總發生在另一端——隊頭(front)

Python中的隊列是什么


隊列規則:  先進先出FIFO(First In First Out)  ,先進入的數據先出去

隊列僅有一個入口和一個出口  ,不允許數據項直接插入隊列,也不允許從中間刪除數據項

隊列例子1:打印機的打印隊列


Python中的隊列是什么


隊列例子2:進程調度

操作系統的內核采用了多個隊列來對系統同時運行的進程進行調度        

補充:
         
  • 一段不運行的代碼——程序

  • 一段運行的代碼——進程

  • 進程由許多線程組成

  • 進程的目的是實現程序的并發


CPU的內核利用隊列調度進程(運行的代碼),內核越多,CPU的性能越好。當進程的順序出錯導致資源分配死循環,就會出現進程死鎖

進程調度特點:

  • 進程數越多于CPU核心數(于是就要進行進程調度)

  • 有些進程還要等待不同類型的I/O事件(I/O事件速度<<CPU處理速度)

進程調度原則:

采用“先到先服務”和“資源充分利用”原則。因為CPU的內核進行進程調度采用的是隊列,故對應“先到先服務”策略

隊列例子3:鍵盤緩沖    

   
鍵盤敲擊速度較快,I/O事件速度較慢,故不會馬上顯示到顯示屏上面,利用隊列的特點(FIFO)存儲敲擊的進程      

隊列的操作函數

Queue()
創建隊列
enqueue(item)
item添加到隊尾
dequeue()從隊首移除數據
isEmpty()
是否為空
size()
數據項個數

隊列操作函數例子:


Python中的隊列是什么

隊列實現

利用python列表實現隊列

class Queue():    """隊列"""    def __init__(self):        self.items = []
   def enqueue(self, item):        """插入元素, 時間復雜度O(n)"""        self.items.insert(0, item)
   def dequeue(self):        """刪除元素,時間復雜度O(1)"""        return self.items.pop()
   def size(self):        return len(self.items)            def isEmpty(self):        return self.items == []


到此,關于“Python中的隊列是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

申扎县| 天峻县| 原阳县| 松江区| 巴中市| 疏附县| 东方市| 五大连池市| 瓦房店市| 绥中县| 皋兰县| 疏附县| 兰西县| 乐东| 明光市| 乡城县| 湘乡市| 昌黎县| 玉溪市| 安图县| 龙泉市| 镇赉县| 溆浦县| 纳雍县| 西乌| 格尔木市| 金塔县| 石泉县| 沈阳市| 南开区| 高雄市| 台湾省| 长沙县| 新余市| 保康县| 苏州市| 准格尔旗| 民乐县| 漳州市| 专栏| 嘉鱼县|