Si vous disposez d'un algorithme de tri rapide et que vous sélectionnez toujours le plus petit (ou le plus grand) élément comme pivot; Ai-je raison de supposer que si vous fournissez un ensemble de données déjà trié, vous obtiendrez toujours les performances les plus défavorables, que votre liste «déjà triée» soit dans l'ordre croissant ou décroissant?
Ma pensée est que, si vous choisissez toujours le plus petit élément pour votre pivot, le fait que votre entrée `` déjà triée '' soit triée par ordre croissant ou décroissant n'a pas d'importance car le sous-ensemble choisi pour être trié par rapport à votre pivot sera toujours le même taille?
Réponses:
La complexité la plus défavorable pour le tri rapide est . Ceci est réalisé en choisissant des pivots qui divisent l'ensemble de telle sorte qu'un groupe n'a qu'un seul membre. Avec un mauvais algorithme de sélection de pivot, cela peut facilement être obtenu en choisissant une extrémité d'un ensemble trié. Votre hypothèse est correcte.Θ(n2)
la source
la source
la source