

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Uma empresa de logística precisa processar diariamente um arquivo de 100 GB contendo registros de entregas que precisam ser ordenados por data e hora para gerar um relatório consolidado. O servidor responsável pelo processamento possui apenas 8 GB de memória RAM disponível para a aplicação. A escolha do algoritmo de ordenação é crítica para que a tarefa seja executada eficientemente sem exceder a capacidade de memória. Considerando as restrições de memória, o algoritmo de ordenação adequado para esta situação é:
O Heapsort, pois ele garante uma complexidade de tempo de pior caso de O(nlogn) e opera "in-place", modificando o próprio array sem necessitar de memória adicional significativa.
O Bubble Sort, porque sua implementação é simples e, embora sua complexidade seja O(n2), seu consumo de memória é constante, O(1), o que o torna ideal para ambientes com memória restrita.
O Quicksort, pois possui uma complexidade de tempo média de O(nlogn), sendo um dos algoritmos de ordenação internos mais rápidos na prática para conjuntos de dados de grande porte.
O Insertion Sort, porque ele é eficiente para conjuntos de dados que já estão parcialmente ordenados e seu baixo overhead o torna mais rápido que algoritmos mais complexos para blocos de dados menores.
O External Merge Sort, pois ele é projetado para lidar com volumes de dados maiores que a memória principal, dividindo o arquivo em blocos que cabem na memória, ordenando esses blocos individualmente e, em seguida, mesclando-os de volta em um único arquivo ordenado.