Seria a análise de algoritmos desnecessaria em um mundo onde os hardwares estão cada vez mais robustos em memória e processamento e onde frameworks e linguagens ja resolvem certos problemas computacionais de forma eficiente? Talvez voce nunca terá essa preocupacao, mas entender como analisar um algoritmo pode te ajudar a decidir abordagens mais eficientes para resolver problemas no seu dia a dia, consequentemente te tornando um densenvolvedor melhor :).
Quando falamos de algoritmos estamos falando de uma “receita” para resolver um determinado problema. Logo podemos ter varios algoritmos para resolver um mesmo problema e de forma correta, mas qual seria o mais eficiente? Ou melhor, decidir qual algoritmo utilizar vale a pena dado o problema definido? Devo comprar um relogio de pulso, para saber se um algoritmo é mais rapido que outro? Estas perguntas serão respondidas ate o final desta postagem ou não…
Definindo a análise
Quando falamos de analise de algoritmos, esta “analise” pode ser um coneito muito vago. Podemos analisar um algoritmo quanto utilizando varias abordagens como uso de memoria, boa documentacao, tempo de execucao etc. Para este artigo será utilizado a analise por tempo de execucao.