最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中的deque雙向隊列詳解

 更新時間:2023年09月13日 10:17:41   作者:Yake1965  
這篇文章主要介紹了python中的deque雙向隊列詳解,相比 list 實現(xiàn)的隊列,deque 擁有更低的時間和空間復(fù)雜度,list 實現(xiàn)在出隊(pop)和插入(insert)時的空間復(fù)雜度大約為O(n),需要的朋友可以參考下

python deque(雙向)隊列

Python 標(biāo)準(zhǔn)庫中包含了四種隊列,分別是 queue.Queue / asyncio.Queue / multiprocessing.Queue / collections.deque

在這里插入圖片描述

相比 list 實現(xiàn)的隊列,deque 擁有更低的時間和空間復(fù)雜度。list 實現(xiàn)在出隊(pop)和插入(insert)時的空間復(fù)雜度大約為O(n),deque 在出隊(pop)和入隊(append)時的時間復(fù)雜度是O(1)。 所以 deque 更有優(yōu)越性,而且 deque 既可以表示隊列又可以表示棧。

in 操作符

q = collections.deque([1, 2, 3, 4])
print(5 in q)  # False
print(1 in q)  # True

rotate 旋轉(zhuǎn)

# 順時針
q = collections.deque([1, 2, 3, 4])
q.rotate(1)
print(q)  # [4, 1, 2, 3]
q.rotate(1)
print(q)  # [3, 4, 1, 2]
# 逆時針
q = collections.deque([1, 2, 3, 4])
q.rotate(-1)
print(q)  # [2, 3, 4, 1]
q.rotate(-1)
print(q)  # [3, 4, 1, 2]

copy

 d.append(1)
 d.append(2)
 deque([1, 2])
 d1 = d.copy()
 deque([1, 2])

extend

 d.clear()
 d.append(1)
 d.extend([3,4,5])
 deque([1, 3, 4, 5])

extendleft

 d.clear()
 d.append(1)
 d.extendleft([3,4,5])
deque([5, 4, 3, 1])

index

 d.extend(["a","b","c","d","e","f"])
deque(['a', 'b', 'c', 'd', 'e','f'])
 d.index("c",0,4) #指定查找的區(qū)間
 d.index("c",0,2)
error...
d.insert(位置,元素)  在指定位置插入元素
d.remove(元素)   刪除指定元素
d.reverse   隊列翻轉(zhuǎn) 

請定義一個隊列并實現(xiàn)函數(shù) max_value 得到隊列里的最大值,要求函數(shù)max_value、push_back 和 pop_front 的均攤時間復(fù)雜度都是O(1)。

若隊列為空,pop_front 和 max_value 需要返回 -1

輸入: [“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop_front”,“max_value”] [[],[1],[2],[],[],[]] 輸出: [null,null,null,2,1,2]

既然時間復(fù)雜度是O(1)

from collections import deque
class MaxQueue:
    def __init__(self):
        self.d = deque()
    def max_value(self) -> int:
        return max(self.d) if self.d else -1
    def push_back(self, value: int) -> None:
        self.d.append(value)
    def pop_front(self) -> int:
        return self.d.popleft() if self.d else -1

到此這篇關(guān)于python中的deque雙向隊列詳解的文章就介紹到這了,更多相關(guān)deque雙向隊列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python+PyQt5編寫一個批量圖片添加水印工具(附源碼)

    Python+PyQt5編寫一個批量圖片添加水印工具(附源碼)

    這篇文章主要為大家詳細(xì)介紹了如何基于PyQt5開發(fā)的批量圖片水印添加工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-02-02
  • 基于python求兩個列表的并集.交集.差集

    基于python求兩個列表的并集.交集.差集

    這篇文章主要介紹了基于python求兩個列表的并集.交集.差集,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • 基于Python實現(xiàn)計算納什均衡的示例詳解

    基于Python實現(xiàn)計算納什均衡的示例詳解

    納什均衡是一種博弈論中的概念,它描述了一種平衡狀態(tài),其中每個參與者都不能通過獨立改變其決策來提高自己的利益。本文就來用Python中的Nashpy和PuLP實現(xiàn)計算納什均衡,感興趣的可以了解一下
    2023-02-02
  • 判斷python字典中key是否存在的兩種方法

    判斷python字典中key是否存在的兩種方法

    這篇文章主要介紹了判斷python字典中key是否存在的兩種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python使用openpyxl與pandas讀取Excel文件的對比詳解

    Python使用openpyxl與pandas讀取Excel文件的對比詳解

    在 Python 數(shù)據(jù)處理與分析場景中,Excel 文件作為經(jīng)典的數(shù)據(jù)存儲格式,其讀取與操作效率直接影響開發(fā)流程,openpyxl具備精細(xì)化操作單元格、樣式設(shè)置、圖表編輯等底層能力;而 pandas 依托強大的數(shù)據(jù)結(jié)構(gòu)與矢量化運算,本文對兩種工具進行全方位對比
    2025-12-12
  • Python尋找路徑和查找文件路徑的示例

    Python尋找路徑和查找文件路徑的示例

    今天小編就為大家分享一篇Python尋找路徑和查找文件路徑的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python代碼使用 Pyftpdlib實現(xiàn)FTP服務(wù)器功能

    Python代碼使用 Pyftpdlib實現(xiàn)FTP服務(wù)器功能

    FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實現(xiàn)FTP服務(wù)器的功能 ,需要的朋友可以參考下
    2019-07-07
  • python 爬蟲爬取京東ps4售賣情況

    python 爬蟲爬取京東ps4售賣情況

    這篇文章主要介紹了python 如何用爬蟲爬取京東ps4售賣情況,幫助大家更好的利用python爬取自己想要的數(shù)據(jù),感興趣的朋友可以了解下
    2020-12-12
  • python 遍歷pd.Series的index和value

    python 遍歷pd.Series的index和value

    今天小編就為大家分享一篇python 遍歷pd.Series的index和value,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python生成器表達式和列表解析

    python生成器表達式和列表解析

    最近在學(xué)習(xí)python的過程中,對列表解析及生成器表達式有點疑惑。從表面上看,兩者很相似,只有一點不同:列表解析采用中括號[]來包含,生成器表達式采用小括號()來包含。本文我們就來詳細(xì)看下python生成器表達式和列表解析
    2016-03-03

最新評論

定日县| 双流县| 仲巴县| 舒城县| 临沂市| 通化市| 云阳县| 河北区| 绍兴市| 临湘市| 涞水县| 开平市| 怀仁县| 稻城县| 郴州市| 阿合奇县| 湖州市| 高碑店市| 嘉定区| 高雄县| 竹山县| 务川| 嘉义县| 桑植县| 兰西县| 抚松县| 凤山县| 宁乡县| 威远县| 静海县| 兴山县| 法库县| 河源市| 敦煌市| 远安县| 九寨沟县| 文成县| 宁陵县| 革吉县| 连南| 宁城县|