Algoritmos de Ordenação
Um algoritmo de ordenação é um algoritmo que põe os elementos de uma lista em uma certa ordem. Os critérios de ordenação mais utilizados são a ordem numérica e a ordem lexicográfica. Uma ordenação eficiente é importante para otimização do uso de outros algoritmos que requerem que a entrada de dados estejam ordenada, e também para exibição de dados ao usuário, oferecendo uma forma organizada de exibição e facilitando o acesso a dados específicos.Buble Sort
É um algoritmo que repetidamente passa pela lista a ser ordenada, compara cada par de itens adjacentes e os troca se eles estão na ordem errada. A passagem pela lista é repetida até que a troca não seja mais necessária, o que indica que a lista está ordenada.O algoritmo é bem simples de ser implementado mas muito lento e impraticável em vários problemas.
Insertion Sort
Também um algoritmo simples que constrói a lista final (lista com todos os elementos já ordenados) um item por vez. É bem menos eficiente em listas grandes que outros algoritmos, mas oferece vantagens como: eficiência em pequenos conjuntos de dados, eficiência em listas semi-ordenadas, ordenação listas de acordo com seu recebimento.
Merge Sort
Subdivide a lista em duas novas listas, ordena-as, e as junta novamente colocando os elementos em posição até que a lista final esteja ordenada. Esse algoritmo usa uma chamada recursiva na divisão da lista em sub-listas, ou seja, a lista será dividida várias vezes até que seja ordenada.Quick Sort
O Quick Sort divide a lista em listas menores, escolhe um elemento chamado "pivô". Então ordena a lista de forma que todos os elementos com valores menores que pivô se posicionem antes dele. Similarmente, os elementos após o pivô serão posicionados depois dele.Depois desse processo, o pivô estará em sua posição final, e o processo será repetido recursivamente até que a lista esteja completamente ordenada.
Esses são apenas alguns dos algoritmos de ordenação dentre vários outros. Algoritmos estes que variam sua eficiência de acordo com tamanho da lista, tipo de ordenação, e dificuldade de implementação. Confira aqui os vários algoritmos em ação (perceba a diferença dos algoritmos apresentados aqui a algoritmos mais sofisticados/complicados e o tempo que cada um leva):
Isso conclui o post de hoje. Até a próxima o/
hum, então é assim que eles fazem joguinhos de quebra-cabeça!
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirLembrei da questão de Giovanny hehehe ótimo post!
ResponderExcluirÓtima descrição dos métodos, os gifs ajudaram bastante a entender ;)
ResponderExcluir