Conceptual

Dynamic Programming

Solving a problem by building a table of optimal solutions to overlapping subproblems instead of re-deriving them. Sequence alignment and nucleic acid folding are both computed this way.