3
A
回答
7
假設您壓縮N次迭代。
在蟒3.X,zip函數本身在O(1)
時間用完,因爲它只是分配特別可迭代(稱爲拉鍊對象),和參數數組到內部字段分配。函數調用本身(在控件到達zip之前)爲O(N)
,因爲解釋器必須將參數轉換爲數組。在迭代器上調用的每個後續next
也都在O(N)
中運行。因此,假設M是迭代次數的平均(或最小)長度,排除迭代本身用於生成項目(因爲它獨立於zip)的時間,因此耗盡zip對象爲O(N*M)
。
在python 2.x,zip函數返回一個列表。該列表必須在調用期間構建,這相當於耗盡前面示例中的迭代器,因此O(N*M)
不包括在壓縮的可迭代中花費的時間。
相關問題
- 1. Collection.toArray()的時間複雜度是多少?
- 2. Python中collections.Counter()的時間複雜度是多少?
- 3. Python中dict.keys()的時間複雜度是多少?
- 4. 減少時間複雜度
- 5. 我的代碼中的時間複雜度是多少
- 6. Java中TreeSet的lower()/ higher()的時間複雜度是多少?
- 7. 方案中'assoc'函數的時間複雜度是多少?
- 8. Ruby中Array#uniq方法的時間複雜度是多少?
- 9. TreeSet中有序操作的時間複雜度是多少?
- 10. Java中LinkedList.getLast()的時間複雜度是多少?
- 11. clojure中count函數的時間複雜度是多少?
- 12. C++中std :: next_permutation()函數的時間複雜度是多少?
- 13. java中lastIndexOf的時間複雜度是多少?
- 14. java中StringBuilder.append()的時間複雜度是多少?
- 15. java中HashMap.containsValue()的時間複雜度是多少?
- 16. 鏈式散列表中的時間複雜度是多少
- 17. 分時排序算法的時間複雜度是多少?
- 18. 從Python中列表彈出元素的時間複雜度是多少?
- 19. 下面的遞歸函數的時間複雜度是多少
- 20. NavigableMap的floorEntry()方法的時間複雜度是多少?
- 21. 下面的僞代碼的時間複雜度是多少?
- 22. AngularJS的髒檢查算法的時間複雜度是多少?
- 23. 我的代碼的時間複雜度是多少?
- 24. 樹遍歷的時間複雜度是多少?
- 25. 以下代碼的時間複雜度是多少?
- 26. 爬山算法的時間複雜度是多少?
- 27. 代碼的時間複雜度是多少?
- 28. 以下循環的時間複雜度是多少
- 29. unordered_set <int> :: iterator it + n的時間複雜度是多少?
- 30. 這個函數的時間複雜度是多少?
它的O(N * M)其中N是最短列表的長度,M是列表數量 –
您需要區分是否使用python 2或python 3作爲'zip'在兩個函數中都有不同的功能。 –
調用本身,我猜是O(1)在python 3 ...但評估仍然是相同的,我認爲...也許我完全錯了 –