Por Tatiana Dias, publicado em Nexo –
Úteis para lidar com grandes volumes de dados, algoritmos de ordenação também funcionam com seus livros
O canal Ted-Ed no YouTube, que reúne conteúdo educativo, publicou um vídeo que pode facilitar muito a vida de quem ama livros (e também ama organização). Ele ensina três maneiras simples e eficientes para organizar uma biblioteca em ordem alfabética. Assista ao vídeo aqui (ele está em inglês):
O problema descrito no vídeo é o seguinte: como organizar 1.280 livros de uma biblioteca em um dia? Para responder a essa questão, são apresentados três métodos conhecidos de ordenação. Eles não se aplicam apenas à bibliotecas, mas também são utilizados em algoritmos que organizam grandes volumes de informação em sites de busca e de comércio eletrônico, por exemplo.
Esses métodos podem ser utilizados, também, para organizar praticamente qualquer coisa. Todos são eficientes, mas alguns são mais rápidos do que outros. Saiba como funcionam:
O método bolha
FILEIRA
Os livros devem ser organizados em uma fileira.
DOIS A DOIS
A partir de então, um jeito de organizar é pegar um par deles na ponta da fileira. Se os dois primeiros livros tiverem em ordem alfabética, deixe-os como estão. Senão, deixe-os em ordem.
REPITA
Olhe o segundo e o terceiro livro. Estão em ordem? Repita o processo. Continue repetindo o processo, colocando os livros em ordem de dois em dois, até chegar ao final da fila.
OUTRA PONTA
Quando você chegar ao livro que deve ser o último – final “Z”, “X” ou “Y”, vá trocando-o de lugar com todos os livros da sequência, um a um, até que ele chegue à ponta final.
CONTINUE
Volte ao processo inicial: da ponta da fileira, organize os livros em ordem de dois em dois. Faça isso até chegar ao que deve ser o penúltimo livro. Repita o passo quatro: leve-o ao final. Repita o processo até que os livros estejam organizados.
O método bolha é uma técnica conhecida de ordenação. Clique aqui e veja o vídeo em que um estudante de ciências da computação explica como o método funciona. É um método simples, porém lento para ser feito manualmente. Para organizar uma biblioteca de 1.280 livros, ela levaria nove dias.
Ordenação por inserção
FILA
Comece ordenando apenas os dois primeiros livros. Pegue o terceiro livro e compare-o ao segundo: estão em ordem? Se não estiverem, inverta-os.
ZONA ORDENADA
Faça o mesmo em relação ao primeiro livro. Desta maneira, você terá ordenado os primeiros três livros da fileira, criando um “espaço de livros em ordem” à esquerda da fileira.
UM A UM
Comece a ordenar, agora, um livro de cada vez. Pegue o próximo da fila e coloque-o no “espaço dos livros em ordem”, comparando-o com o que está imediatamente antes dele.
Este método se chama “ordenação por inserção” e é um algoritmo bastante conhecido. Clique aqui para ver o seu funcionamento. É eficiente, mas não muito rápido: levaria cinco dias para ordenar a mesma biblioteca de 1.280 livros.
Quicksort
PIVÔ
Pegue um livro aleatório. Chame-o de “divisória” e compare-o com os outros livros.
DIVIDA A FILEIRA
Coloque todos os livros que vêm antes da “divisória” à esquerda e os que vêm depois à direita.
METADE
Agora, se concentre na metade dos livros à esquerda. Repita o processo: separe um livro aleatório que funcionará como divisória, e divida a fileira entre os que vêm antes e os que vêm depois dele.
SUBDIVISÕES
Desta maneira, você subdivide a fileira em pequenos pedaços, que podem ser ordenados com as técnicas anteriores, otimizando o processo.
Inventado nos anos 1960, o método “quicksort” é extremamente rápido e é muito usado por programadores para automatizar ordenação em tarefas como organizar itens de uma loja online, por exemplo. Com ele, 1.280 livros demorariam de três a quatro horas para serem organizados. Clique aqui e assista a uma explicação sobre o “quicksort”.