web-dev-qa-db-ja.com

変換を設定するリストの時間の複雑さは何ですか?

python公式ウェブサイトでの集合操作の時間の複雑さの表に気付きました。しかし、リストをセットに変換する時間の複雑さは何ですか、

l = [1, 2, 3, 4, 5]
s = set(l)

これは実際にはハッシュテーブルであることを知っていますが、どのように機能しますか? O(n) then?

35
Xuechen Li

はい。リストの反復はO(n)であり、各要素をハッシュセットに追加することはO(1)であるため、合計操作はO(n)です。

34
Mad Physicist