Bonjour, pour l'algorithme de tri rapide suivant, je comprends sa complexité dans le meilleur des cas qui est en O(n) et celle dans le pire des cas qui est en O(n2). Cependant, je ne comprends pas pourquoi sa complexité moyenne est en O(n*log(n)). D'où sort le log(n) ? On ne peut pas faire la moyenne entre la complexité dans le pire des cas et celle dans le meilleur des cas pour trouver la complexité moyenne ?
Merci d'avance à toute personne m'accordant un peu de son temps.Code:def tri_rapide(Liste): if not Liste: return [] else: pivot=Liste[-1] Liste_inf=[k for k in Liste if k<pivot] Liste_sup=[k for k in Liste[:-1] if k>=pivot] return tri_rapide(Liste_inf) + [pivot] + tri_rapide(Liste_sup)
-----