2017-06-22 182 views
-3
list1 = ['a','b','c','d'] 
a = list1.index('c') 
print(a) #2 

但是什麼是時間複雜度?是O(1)還是O(n)?list.index(obj)方法的時間複雜度是多少?

+0

'O(n)',假設......只是因爲你需要重新掃描列表 – FieryCat

+0

由於您沒有使用字典/散列表,我認爲索引需要迭代列表。所以它會是'O(n)' – Quickbeam2k1

+0

這個問題可以用最小的Google技能來解答。或者,就常識而言:它不可能比O(n)好,而明顯的樸素的實現是O(n),這意味着以比O(n)差的方式實現它將需要一個活動努力故意讓它變慢,我們可以假設情況並非如此,因此,它是O(n)。 –

回答

0

這是爲O(n),還檢查了:http://wiki.python.org/moin/TimeComplexity

本頁面記錄的時間複雜度(又名 「大O」 或 「大哦」 )在當前CPython中的各種操作。其他Python實現(或者更早的或者仍在CPython的開發版本中)可能具有略微不同的性能特徵。然而,假設它們不會慢於O(log n)的因數通常是安全的。

相關問題