Visualização de algoritmos de ordenação

Existe uma lacuna de conhecimento enorme que limita as pessoas de abstrair mentalmente e perceber passos matemáticos ou lógicos complexos envolvidos na execução de algoritmos, o que dificulta o entendimento correto dos mesmos.

É incrível quando conseguimos representar esses passos de maneira visual, pois dessa maneira fica fácil observar detalhes antes implícitos nas diversas linhas de código de um algoritmo.

Confira abaixo uma imagem que fornece uma intuição simples sobre o funcionamento e o comportamento assintótico de alguns algoritmos conhecidos para o problema de ordenação:

Sorting

Nesta imagem, podemos analisar os algoritmos de Inserção, Seleção, Bubble, Shell, Merge, Heap, Quick e Quick3 em funcionamento em diferentes instâncias de problemas.

Fonte:

I’m Programmer, Sorting Algorihms Visualized, Disponível em <http://www.improgrammer.net/sorting-algorithms-visualized/>

Written by Diego Cavalca

Graduado em Análise e Desenvolvimento de Sistemas pela UNILINS em 2012, atualmente Mestrando em Ciência da Computação na Universidade Federal de São Carlos (UFSCar).