Diego Martins de Pinho
Jan 23 · 3 min read

Para quem está ingressando na área de computação, um dos conceitos mais abstratos, confusos e difíceis de se aprender são os algoritmos clássicos de ordenação. Estes algoritmos nada mais são do que uma sequência finita de comandos — em uma determinada ordem — que tem como objetivo ordenar uma quantidade de elementos dentro de uma regra de ordenação. As ordens mais usadas são a numérica e a lexicográfica.

Existem várias razões para queremos ordenar uma sequência. Uma delas é a possibilidade se acessar seus dados de modo mais eficiente. Imagine você dentro de uma biblioteca procurando por um título em específico. Se as obras não estiverem organizadas de alguma forma — seja por ordem alfabética de título, nome de autor, gênero, ISBN, etc — a chance de você passar uma eternidade até encontrar o livro desejado é muito grande.

Como a ordenação pode ser um trabalho extremamente pesado para a máquina realizar — e aqui entenda “trabalho pesado” como que exige grande esforço computacional — através dos anos surgiram uma série de algoritmos que tem como objetivo ordenar dados da forma mais rápida, concisa e eficiente possível.

Alguns destes algoritmos clássicos são:

  1. Insertion sort
  2. Selection sort
  3. Bubble sort

Além disso, há outros bastante sofisticados, como:

  1. Merge sort
  2. Heapsort
  3. Counting sort
  4. Bucket sort
  5. Cocktail sort
  6. Timsort
  7. Quick sort

Como estes algoritmos são bem abstratos, pode ser difícil compreender o seu funcionamento. Por exemplo, considere o pseudocódigo a seguir de uma implementação do algoritmo Quick Sort.

Talvez você não tenha muita dificuldade em entender este conteúdo (seja por já estar acostumado, ou mesmo já conhecer como o algoritmo funciona) mas para quem está tendo os primeiros contatos com algoritmos, isso pode ser bem confuso (e assustador!). Por isso que algumas alternativas surgiram para tentar ensinar o seu funcionamento de outra forma. Um bom exemplo são imagens (afinal, uma imagem diz mais do que mil palavras, não é mesmo?). Repare na representação do mesmo algoritmo neste gif:

Algumas coisas sobre o seu funcionamento já começam a ficar mais claras, não é mesmo? Mas apesar disso, pode ser ainda confuso demais. É por esta razão que um grupo de dança Húngaro teve uma ideia maluca:

“e se apresentássemos como os algoritmos funcionam através da dança?”.

Foi desta ideia bem diferente que surgiu a série de vídeos sobre o assunto. Veja só um deles abaixo:

Bem legal, né? Além do Bubble Sort que vimos nesse vídeos, há vários outros sobre os algoritmos de Quick Sort, Merge Sort, Shell Sort, Select Sort, Insert Sort e muito mais.

Agora quando quiser estudar ordenação, é só chamar a galera do trabalho/ faculdade pro bar, tomar umas, e sair dançando os algoritmos, rs!


Gostou? Recomende 👏 este artigo e acompanhe nossa publicação para não perder os próximos conteúdos!

Siga nossa publicação e não perca os próximos artigos! http://www.codeprestige.com.brFacebook, Twitter, Youtube

Siga o autor deste artigo e troque uma ideia com ele! http://www.diegopinho.com.br • Twitter, LinkedIn


Aprenda mais com nossos cursos de programação online!

ECMAScript 6ECMAScript 7 e 8React 16VS CodeMais

Code Prestige

Artigos, notícias e dicas sobre o melhor da tecnologia

Diego Martins de Pinho

Written by

Desenvolvedor de Software, Fundador da CodePrestige e autor do livro ECMAScript 6 - Entre de cabeça no futuro do JavaScript

Code Prestige

Artigos, notícias e dicas sobre o melhor da tecnologia

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade