Projetar algoritmos eficientes requer, além de uma boa intuição, métodos formais para entender e analisá-los. Em computação, geralmente estamos interessados no comportamento assintótico dos algoritmos, ou seja, em como se comportam quando o tamanho de sua entrada tende ao infinito. Sendo assim, a Análise assintótica se mostra como uma das mais importantes e fundamentais ferramentas na análise de algoritmos.
Para projetar algoritmos assintoticamente eficientes, geralmente são empregadas algumas técnicas já conhecidas. Algumas técnicas muito conhecidas e comumente utilizadas para resolver problemas de otimização (que consistem em maximizar ou minimizar algum aspecto do problema) incluem:
Vale notar que as técnicas não são mutualmente exclusivas, ou seja, podem ser combinadas e utilizadas em conjunto a depender das características do problema a ser resolvido.