Sobes.tech
Junior

Quel algorithme de tri est utilisé dans la fonction sort ?

sobes.tech IA

Réponse de l'IA

Dans la bibliothèque standard de C++, la fonction std::sort est généralement implémentée en utilisant l'algorithme Introsort (Tri introspectif). C'est un algorithme hybride qui combine :

  • Tri rapide (Quicksort) pour la plupart des cas
  • Tri par tas (Heapsort) lorsque la profondeur de récursion devient trop grande (pour éviter le pire cas du tri rapide)
  • Tri par insertion pour les petits sous-tableaux

Introsort assure en moyenne une bonne performance du tri rapide avec la garantie du pire cas O(n log n) grâce à la commutation vers le tri par tas.

Exemple d'utilisation de std::sort :

#include <algorithm>
#include <vector>
#include <iostream>

int main() {
    std::vector<int> v = {5, 3, 2, 4, 1};
    std::sort(v.begin(), v.end());
    for (int n : v) {
        std::cout << n << ' ';
    }
    return 0;
}

Ainsi, std::sort est un algorithme haute performance basé sur Introsort.