Análise comparativa do desempenho dos principais algoritmos de ordenação com diferentes tamanhos de datasets.
Algoritmo | Tipo | Complexidade (Pior Caso) |
---|---|---|
Bubble Sort | Iterativo | O(n²) |
Selection Sort | Iterativo | O(n²) |
Merge Sort | Recursivo | O(n log n) |
Merge Sort | Iterativo | O(n log n) |
Quick Sort | Recursivo | O(n²) |
Quick Sort | Iterativo | O(n²) |
- Tempo de execução: Mais eficiente com grandes volumes (10k-80k elementos)
- Complexidade consistente: O(n log n) em todos os casos
- Menor número de passadas e comparações
- Performance próxima ao Merge Sort em tempo de execução
- Número de trocas significativamente menor
- Apesar da complexidade O(n²)
- Piores resultados em tempo de execução
- Maior número de trocas
- Vantagem: Baixo consumo de memória
// Exemplo de cabeçalho de saída do programa
[INFO] Dataset: 50.000 elementos
| Algoritmo | Tempo (ms) | Memória (MB) | Trocas | Comparações |
|------------------|------------|--------------|---------|-------------|
| MergeSortRec | 120 | 45 | 245,112 | 1,043,221 |
| QuickSortIter | 115 | 40 | 310,455 | 892,334 |
| SelectionSort | 2,450 | 38 | 49,999 | 1,249,975 |
| BubbleSort | 3,210 | 35 | 624,332 | 1,249,975 |