Python集合和時(shí)間復(fù)雜度
在本文的這一部分中,我將記錄CPython中的常見(jiàn)集合,然后概述它們的時(shí)間復(fù)雜性。
我將特別關(guān)注平均情況。
1.List
List是迄今為止Python中最重要的數(shù)據(jù)結(jié)構(gòu)之一。我們可以將列表用作堆棧(添加的最后一項(xiàng)是第一項(xiàng))或隊(duì)列(添加的第一項(xiàng)是第一項(xiàng))。列表是有序且可變的集合,因?yàn)槲覀兛梢噪S意更新項(xiàng)目。
讓我們回顧一下常見(jiàn)列表操作及其Big-O表示法
插入:Big-O表示法是O(n)
獲取項(xiàng)目:Big-O表示法為O(1)
刪除項(xiàng)目:Big-O表示法是O(n)
迭代:Big-O表示法是O(n)
獲得長(zhǎng)度:Big-O表示法為O(1)
JoshuaSortino在Unsplash上拍攝的照片
2.Set
集合也是Python中使用最廣泛的數(shù)據(jù)集合之一。集合本質(zhì)上是無(wú)序集合。集合不允許重復(fù),因此集合中的每個(gè)項(xiàng)目都是唯一的。集合支持許多數(shù)學(xué)運(yùn)算,例如聯(lián)合,差,集合的交集等。
讓我們回顧一下通用Set操作
檢查集合中的項(xiàng)目:Big-O表示法是O(1)
集合A與集合B的區(qū)別:大O表示法是O(A的長(zhǎng)度)
集A和B的交集:大O表示法是O(A或B的長(zhǎng)度的最小值)
集A和B的并集:相對(duì)于長(zhǎng)度(A)+長(zhǎng)度(B),它的Big-O表示法是O(N)
fabio在Unsplash上的照片
3.Dict字典
最后,我想提供字典數(shù)據(jù)收集的概述。字典是鍵值對(duì)集合。鍵在字典中是唯一的,以防止項(xiàng)目沖突。這是非常有用的數(shù)據(jù)收集。
字典由鍵索引,其中鍵可以是字符串,數(shù)字甚至是帶有字符串,數(shù)字或元組的元組。
我們可以對(duì)字典執(zhí)行許多操作,例如存儲(chǔ)鍵的值,或基于鍵檢索項(xiàng)目,或遍歷項(xiàng)目等。
讓我們回顧一下常見(jiàn)的詞典時(shí)間復(fù)雜度:
在這里,我們認(rèn)為該密鑰用于獲取,設(shè)置或刪除項(xiàng)目。
獲取項(xiàng)目:Big-O表示法為O(1)
設(shè)定項(xiàng)目:Big-O表示法是O(1)
刪除項(xiàng)目:Big-O表示法是O(1)
遍歷字典:Big-O表示法是O(n)
以上內(nèi)容為大家介紹了Python集合和時(shí)間復(fù)雜度,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.mobiletrain.org/

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
python中的filter函數(shù)功能是什么?
python中的filter函數(shù)功能是什么?在python中,面對(duì)眾多的數(shù)據(jù),我們要過(guò)濾篩選出我們需要的數(shù)據(jù)。python中的filter函數(shù)就是起到了過(guò)濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時(shí)間,就免不了和time模塊打交道,另外兩個(gè)模塊這個(gè)暫時(shí)先不做介紹。做time模塊的使用上,我們可以用它來(lái)對(duì)...詳情>>
2023-11-10 15:53:16
python是什么編程語(yǔ)言
python是什么編程語(yǔ)言1、說(shuō)明是一種面向?qū)ο?、解釋型?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,由GuidovanRossum于1989年底發(fā)明,第一個(gè)公開(kāi)發(fā)行版發(fā)行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時(shí)我們會(huì)在捕捉到一個(gè)異常后重新引發(fā)它(傳遞異常),實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,使用不帶參數(shù)的raise語(yǔ)句即可。deff...詳情>>
2023-11-10 14:49:39熱門(mén)推薦
python中的filter函數(shù)功能是什么?
沸python delattr函數(shù)如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對(duì)象的三要素是什么
pythonGIL在Python多線程的應(yīng)用
python如何對(duì)多個(gè)CSV文件進(jìn)行讀取
pythonif嵌套命令如何理解?
python對(duì)列表進(jìn)行永久性或臨時(shí)排序的方法
python生成器調(diào)用方法引發(fā)異常
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價(jià)格 -
優(yōu)惠活動(dòng)
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開(kāi)班地區(qū)
查看來(lái)校路線