Sobre projeto de algoritmos, é correto afirmar que:
Os algoritmos recursivos permitem definir o processo em um número finito de subtarefas parciais que devem ser exploradas recursivamente.
Algoritmos dinâmicos são tipicamente utilizados para resolver problemas de otimização. Um exemplo é o algoritmo para encontrar o caminho mais curto entre dois vértices de um grafo.
O paradigma de divisão e conquista consiste em dividir o problema em partes menores, encontrar soluções para as partes, e então combinar as soluções obtidas em uma solução global.
Quando um algoritmo recursivo tem complexidade exponencial, a técnica de balanceamento pode levar a um algoritmo mais eficiente.