2013-11-27 5 views

Antwort

19

Eine Zusammenfassung in:

list - Average: O(n) 
set/dict - Average: O(1), Worst: O(n) 

Siehe this für weitere Details.

+0

also wenn ich überprüfen muss, ob eine Zeichenfolge als Schlüssel in einem dict vorhanden ist. dann wird es O (1) dauern. aber wenn ich sehen muss, ob eine Zeichenfolge in einer Liste vorhanden ist, dann O (n) richtig? –

+0

oder auch wenn ich eine Reihe von Zeichenfolgen und eine Liste von Zeichenfolgen habe, wird x in der Menge schneller als x in der Liste rechts sein? –

+0

Im Durchschnitt ja. – lennon310

7

Es gibt keine allgemeine Antwort darauf: es hängt von den Typen a und besonders von b ab. Wenn beispielsweise b eine Liste ist, dann nimmt in die ungünstigste Zeit O(len(b)). Wenn jedoch zum Beispiel b ein Diktat oder ein Satz ist, dann nimmt in die erwartete Fallzeit O(1) (d. H. Konstante Zeit) an.

Über "Ist A> B?" Haben Sie A oder B nicht definiert. Wie oben, gibt es keine allgemeine Antwort darauf, welche Ihrer in Anweisungen schneller ausgeführt werden.