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