DNA Sequence Alignment
A dynamic programming algorithm