J'ai une liste de listes et je les trie comme suit
data=sorted(data, key=itemgetter(0))
Vous vous demandiez quelle est la complexité d'exécution de cette méthode python?
Si itemgetter(0)
est O(1)
lorsqu'il est utilisé avec data
, le tri est O(n log n)
en moyenne et dans le pire des cas.
Pour plus d'informations sur la méthode de tri utilisée dans Python, voir Wikipedia .
sorted est comme sort, sauf que le premier construit une nouvelle liste triée à partir d'un iterable tandis que sort sort à la place. La principale différence sera la complexité de l'espace.
C'est le Timsort, et Timsort est une sorte d'algorithme de tri adaptatif basé sur le tri par fusion et le tri par insertion, alors je pensais qu'il appartenait au tri de comparaison et c'est-à-dire , aucun tri de comparaison ne peut garantir une complexité temporelle. plus petit que lg (N!) ~ N log N.