Ich frage mich über eine Begründung für die Bestimmung der großen O-Werte hinter eingebauten Methoden in Python. In Anbetracht der folgenden Operation:Big O Notation eines Moduls in einer integrierten Methode in Python verschachtelt
i_arr = ['1','2','5','3','4','5','5']
s_arr = sorted(set(i_arr))
Meine Begründung ist, dass diese sorted(set) = n^2
zwei verschachtelte Schleifen bedeutet.
Basierend auf Rat, den ich in die höheren Level-Module als Teil meiner ursprünglichen Funktion im Quellcode Python gegraben:
def sorted(lst):
l = list(lst)
l.sort()
return l
def sort(self):
sortable_files = sorted(map(os.path.split, self.files))
def set(self):
if not self._value:
self._value = True
for fut in self._waiters:
if not fut.done():
fut.set_result(True)
Jetzt bin verwirrt ich wirklich :)
Die Funktion 'sortierte' sortiert vermutlich die übergebenen Artikel. Es gibt eine Reihe von möglichen Implementierungen von 'sort' mit jeweils unterschiedlichen Leistungsmerkmalen.Ihr Beispiel sagt uns nichts über die spezielle Implementierung von 'sorted', die verwendet wird. –
@AndrewShepherd 'sorted' ist eine eingebaute Python-Funktion. Die Frage lautet also: Was ist der Python-Default? – GhostCat