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

しかし、時間の複雑さは何ですか? はO(1)かO(n)ですか?list.index(obj)メソッドの時間の複雑さは何ですか?

+0

...リストを再スキャンする必要があるからです。 – 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)の要素よりも遅くはないと仮定するのが一般的です。

関連する問題