Engenharia Estrutural Civil &
Calculando a Complexidade do Tempo e do Espaço em Algoritmos de Mescla e Ordenação Rápida
Table of Contents
Compreender a complexidade de tempo e espaço dos algoritmos ajuda a avaliar sua eficiência. Mesclar sort e classificar rápido são dois algoritmos de ordenação populares com características de desempenho diferentes. Este artigo explica como calcular suas complexidades.
Mesclar a Complexidade da Ordenação
Mesclar o ordenação divide o array em metades recursivamente até que cada subarray contenha um único elemento. O processo de fusão então combina estes subarrays em ordem ordenada.
A complexidade temporal do sort merge é O(n log n) nos melhores, médios e piores casos, pois ele constantemente divide o array e o mescla de forma eficiente.
A complexidade do espaço é O(n) devido à necessidade de arrays temporários durante o processo de mesclagem.
Complexidade de ordenação rápida
A ordenação rápida seleciona um elemento pivô e partições do array em subarrays que são menores ou maiores que o pivô. Este processo é repetido recursivamente.
A complexidade média de tempo é O(n log n), mas no pior dos casos, como quando o menor ou maior elemento é sempre escolhido como o pivô, ele se degrada para O(n^2).
A complexidade do espaço para ordenação rápida é geralmente O(log n) devido ao espaço de pilha recursiva, mas pode ser maior dependendo da implementação.
Resumo das Complexidades
- Mesclar Ordenação - Tempo: O(n log n), Espaço: O(n)
- Ordenação rápida - Tempo: [[FLT: 0]] Média O( n log n), Pior O( n^2), Espaço: [[FLT: 2]]O( log n)[[FLT: 3]]