Nos últimos dias, publiquei um vídeo explicando o BubbleSort e outro explicando o QuickSort – dois algoritmos clássicos para ordenação de listas. Trata-se de conhecimento que considero fundamental para programadores, embora ordenação seja um “problema (muito bem) resolvido” no dia-a-dia por frameworks e bibliotecas padrão. Nesse texto, quero te explicar o porquê penso assim!
Algoritmos clássicos são bem mais do que simples código, são expressões de soluções criativas que utilizam artifícios inteligentes como, por exemplo, recursão e a abordagem dividir-para-conquistar. Mais do que aprender a resolver determinados problemas, ao estudar esses algoritmos, programadores “treinam” para conseguir “resolver problemas” de maneira geral.
Estudar soluções criativas e inteligentes inspira e conduz à criatividade e a inteligência, aumenta o “repertório de recursos” para escrever códigos melhores, o que acaba levando a aplicações com melhor desempenho. Um programador com “repertório pequeno” é como um poeta com pouco vocabulário.
Programadores que desprezam o estudo de algoritmos clássicos, na prática, dificilmente conseguem demonstrar apreço verdadeiro por código em geral – inclusive o que eles mesmos escrevem.
Por considerar o estudo de algoritmos clássicos algo tão importantes para programadores , trato deles com muito carinho em meu curso de algoritmos e estruturas de dados.
Parabéns, Elemar! Também tenho esse pensamento, por isso me inscrevi e vou dar inicio aos estudos. Acredito que no treinamento voce apresentará algumas referências no qual podemos ir atrás mas se pudesse futuramente em um post. Abraço
Conte comigo!