Using Java to find the needle in the DNA haystack

[ Thanks to Nobody for this link.

“You take a problem that could be solved recursively
from the top down and solve it iteratively from the bottom up
instead. You store your intermediate results in a table for later
use; otherwise, you would end up computing them repeatedly —
an inefficient algorithm. But dynamic programming is usually
applied to optimization problems like the rest of this article’s
examples, rather than to problems like the Fibonacci problem. The
next example is a string algorithm, like those commonly used in
computational biology.”

Complete Story