list1 = ['a','b','c','d']
a = list1.index('c')
print(a) #2
しかし、時間の複雑さは何ですか? はO(1)かO(n)ですか?list.index(obj)メソッドの時間の複雑さは何ですか?
list1 = ['a','b','c','d']
a = list1.index('c')
print(a) #2
しかし、時間の複雑さは何ですか? はO(1)かO(n)ですか?list.index(obj)メソッドの時間の複雑さは何ですか?
時間の複雑さはO(n)です。 、リンク
それはO(n)のだ見てもチェックアウト:http://wiki.python.org/moin/TimeComplexity
このページでは、時間の複雑さを文書(別名 "ビッグO" や "ビッグ・オー" )現在のCPythonのさまざまな操作の。他のPythonの実装(またはCPythonの古いバージョンやまだ開発中のバージョン)では、パフォーマンス特性がわずかに異なる場合があります。しかし、一般にO(log n)の要素よりも遅くはないと仮定するのが一般的です。
...リストを再スキャンする必要があるからです。 – FieryCat
辞書/ハッシュテーブルを使用していないので、インデックスはリストを反復する必要があります。それで 'O(n)'となるでしょう – Quickbeam2k1
この質問は、Googleのスキルを最小限に抑えて答えられます。 O(n)よりも優れていることは不可能であり、明らかに素朴な実装はO(n)であり、これはO(n)よりも悪い方法で実装するとアクティブ故意にそれをゆっくりとする努力、私達はそうではないと仮定することができます、それはO(n)です。 –