ConselhosRapidos

Soluções simples para problemas complexos

Como funciona o método quicksort?

O quicksort adota a estratégia de divisão e conquista. A estratégia consiste em rearranjar as chaves de modo que as chaves “menores” precedam as chaves “maiores”. Em seguida o quicksort ordena as duas sublistas de chaves menores e maiores recursivamente até que a lista completa se encontre ordenada.

Qual a complexidade do algoritmo de ordenação quicksort?

A complexidade no caso médio do Quicksort é O(nlogn) e é um dos pontos fortes do algoritmo. O caso médio é uma medida estatística. Isso significa que, ao executar o Quicksort, espera-se que o tempo de execução seja O(nlogn). É claro, o Merge Sort também é O(nlogn).

Como funciona o algoritmo de ordenação Insertion Sort?

O Insertion Sort tem como rotina base a inserção ordenada. A ideia é executar várias vezes essa rotina para ordenar um array. Para ser exato, se executarmos N−1 vezes a rotina de inserção ordenada em um array o resultado é a ordenação completa do mesmo.

Qual a complexidade do bubble sort?

O bubble sort, ou ordenação por flutuação (literalmente “por bolha”), é um algoritmo de ordenação dos mais simples. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.

Qual a diferença entre as rotinas de ordenação quick sort e Heap Sort?

Quick Sort é um algoritmo eficiente de ordenação por divisão e conquista. Apesar de ser da mesma classe de complexidade do Merge Sort e do Heap Sort, o Quick Sort é na prática o mais veloz deles, pois suas constantes são menores.

Qual a influência da escolha do pivô na complexidade do algoritmo Quicksort?

Como visto, a escolha do pivô influencia decisivamente no tempo de execuç˜ao do QuickSort. Por exemplo, um vetor de entrada ordenado leva a Θ(n2), caso o pivô escolhido seja o último elemento. A escolha do elemento do meio como pivô melhora muito o desempenho quando o vetor está ordenado, ou quase.