Fast Algorithms for Top-k Approximate String Matching