DNA Models and Algorithms for NP-Complete Problems