Junior
Qual algoritmo de ordenação é utilizado na função sort?
sobes.tech IA
Resposta da IA
Na biblioteca padrão do C++, a função std::sort é geralmente implementada usando o algoritmo Introsort (Ordenação introspectiva). É um algoritmo híbrido que combina:
- Ordenação rápida (Quicksort) para a maioria dos casos
- Ordenação por heap (Heapsort) quando a profundidade da recursão se torna muito grande (para evitar o pior caso do Quicksort)
- Ordenação por inserção para submatrizes pequenos
Introsort garante, em média, um bom desempenho do Quicksort com a garantia do pior caso O(n log n) graças à troca para Heapsort.
Exemplo de uso 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;
}
Portanto, std::sort é um algoritmo de alto desempenho baseado em Introsort.