Abordagem de memorização ou tabulação para programação dinâmica

Existem muitos problemas que podem ser resolvidos usando a programação dinâmica, por ex. Maior subsequência crescente. Esse problema pode ser resolvido usando 2 abordagens

Memoization (Top Down) - Usando recursão para resolver o subproblema e armazenando o resultado em alguma tabela de hash.Tabulação (Bottom Up) - Usando uma abordagem iterativa para resolver o problema resolvendo primeiro os subproblemas menores e depois usando-os durante a execução de um problema maior.

Minha pergunta é qual é a melhor abordagem em termos de complexidade de tempo e espaço?

questionAnswers(3)

yourAnswerToTheQuestion