Algorithms for DNA Sequencing by Hybridization: A Review