2016-08-17 8 views
0

Pythonでは、リストをセットに変換した場合の実行時間と空間の複雑さは何ですか?Pythonでリストを変換するための実行時間

Example: 
data = [1,2,3,4,5,5,5,5,6] 

# this turns list to set and overwrites the list 
data = set(data) 

print data 
# output will be (1,2,3,4,5,6) 

答えて

1

リストをセットに変換するには、リスト内のすべてのアイテムをO(n)回訪問する必要があります。要素を集合に挿入するのはO(1)なので、全体の時間複雑さはO(n)になります。

新しいセットに必要なスペースはリストの長さ以下であるため、これもO(n)です。

ここには、Pythonデータ構造のための良いreferenceがあります。

1

あなたはO(N)時間である、リスト全体を反復し、次いで、O(1)時間でセット、にそれぞれ挿入しなければなりません。したがって、全体的な時間の複雑さはO(n)です。ここで、nはリストの長さです。

セット以外のスペースが作成されていないか、使用されているリストが必要です。

関連する問題