Ordenação
A classificação (ordenação) é um dos processos mais utilizados na computação.
A classificação compreende um processo de rearranjar um conjunto de dados de acordo com certa relação de ordens dentre as quais podemos citar:
ordem alfabética;
ordem numérica; e
ordem cronológica.
Os tipos de ordenação acima podem ser dispostos de duas maneiras: ordem crescente, que rearranja os elementos do menor para o maior, e ordem decrescente, que rearranja os elementos do maior para o menor. Aqui, iremos considerar a ordem crescente para as implementações realizadas.
Classificar dados, isto é, colocar os dados em ordem crescente ou decrescente, é essencial para a eficiência de algumas aplicações. Todos os algoritmos aqui estudados terão o mesmo resultado final: o vetor de dados classificado. A escolha do algoritmo afetará, principalmente, o tempo de execução e o uso de memória do programa. Os algoritmos da bolha, da seleção e da inserção (direta e binária) são simples de programar, porém não são tão eficientes. O método de classificação quicksort é o mais eficiente, mas também, é mais complicado de se implementar.
Para suporte e posteriores testes da implementação dos algoritmos, vamos ver uma forma de criar um vetor com valores aleatórios:
Implementação de um vetor com números aleatórios
Para servir de base para os exemplos das próximas seções, vamos utilizar a seguinte função para gerar uma lista com números aleatórios:
A função sample
do pacote random
recebe como primeiro parâmetro o intervalo que os números serão gerados (nesse caso, de 0 a 99) e o segundo parâmetro recebe a quantidade de números que devem ser gerados.
Algoritmos de Ordenação
Last updated
Was this helpful?