/ / Laufzeit für das Konvertieren der Liste in Python - Python, Liste, Set, Laufzeit, Speicherplatz

Laufzeit für das Konvertieren der Liste in Python - Python, Liste, Set, Runtime, Space

Was sind die Laufzeit- und Platzkomplexität in Python, wenn eine Liste in einen Satz konvertiert wird?

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)

Antworten:

2 für die Antwort № 1

Um eine Liste in einen Satz zu konvertieren, muss jedes Element der Liste einmal besucht werden, O (n). Das Einfügen eines Elements in eine Menge ist O (1), die Gesamtzeitkomplexität wäre also O (n).

Der für den neuen Satz benötigte Platz ist kleiner oder gleich der Länge der Liste, also auch O (n).

Hier ist ein gutes Referenz für Python-Datenstrukturen.


1 für die Antwort № 2

Sie müssen die gesamte Liste durchlaufen, die Zeit O (n) ist, und dann jede in eine Menge einfügen, die Zeit O (1). Die Gesamtzeitkomplexität ist also O (n), wobei n die Länge der Liste ist.

Es wird kein anderer Speicherplatz als der erstellte Satz oder die verwendete Liste benötigt.