private static void DiffSearch(string src, string sub, int diff) { RkSearch rksearch = new RkSearch(); SimpleSearch ssearch = new SimpleSearch(); DumbSearch dsearch = new DumbSearch(); DateTime start, end; int idx = 0; Console.WriteLine("Searching with differences"); Console.WriteLine("Dumb Search ... "); start = DateTime.Now; idx = dsearch.SearchWithDiff(src, sub, diff); end = DateTime.Now; Console.WriteLine("Dumb Search Time: {0}ms", (end - start).TotalMilliseconds); Console.WriteLine("Index: {0}", idx); Console.WriteLine("Simple Search ... "); start = DateTime.Now; idx = ssearch.SearchWithDiff(src, sub, diff); end = DateTime.Now; Console.WriteLine("Simple Search Time: {0}ms", (end - start).TotalMilliseconds); Console.WriteLine("Index: {0}", idx); Console.WriteLine("Rabin Karp Search ... "); start = DateTime.Now; idx = rksearch.SearchWithDiff(src, sub, diff); end = DateTime.Now; Console.WriteLine("RK Search Time: {0}ms", (end - start).TotalMilliseconds); Console.WriteLine("Index: {0}", idx); }
public void RkSearchWithDiff() { SeqUtils util = new SeqUtils(); string src = util.GenerateSequence(1000); string sub = src.Substring(900, 23); RkSearch search = new RkSearch(); sub = util.InsertDiff(sub, 5); int idx = search.SearchWithDiff(src, sub, 5); Assert.IsTrue(idx > 0); }