Novel Algorithms for Protein Structure Determination from Sparse NMR Data