public void RkSimpleSearchCompareTest() { RkSearch rksearch = new RkSearch(); SimpleSearch ssearch = new SimpleSearch(); SeqUtils gen = new SeqUtils(); string src = gen.GenerateSequence(1000); string sub = src.Substring(850, 15); int idx = 0; Console.WriteLine(src.Length); DateTime start, end; start = DateTime.Now; idx = ssearch.Search(src, sub); end = DateTime.Now; Console.WriteLine("Simple Search Time: {0}ms", (end - start).TotalMilliseconds); Console.WriteLine("Index: {0}", idx); start = DateTime.Now; idx = rksearch.Search(src, sub); end = DateTime.Now; Console.WriteLine("RK Search Time: {0}ms", (end - start).TotalMilliseconds); Console.WriteLine("Index: {0}", idx); }
public void RkSearchRandomSequence() { SeqUtils gen = new SeqUtils(); string src = gen.GenerateSequence(1000); // 13 is the max limit due to size of long string sub = src.Substring(900, 23); RkSearch search = new RkSearch(); int idx = search.Search(src, sub); Assert.IsTrue(idx > 0); Assert.IsTrue(idx == 900); }
public void RkSearchTest() { string src = "acgtaaactgggacct"; string sub = "ctg"; RkSearch search = new RkSearch(); int idx = search.Search(src, sub); Assert.IsTrue(idx > 0); Assert.IsTrue(idx == 7); Console.WriteLine("Found at {0}", idx); sub = "a"; idx = search.Search(src, sub); Assert.IsTrue(idx >= 0); Assert.IsTrue(idx == 0); sub = "acct"; idx = search.Search(src, sub); Assert.IsTrue(idx >= 0); Assert.IsTrue(idx == src.Length - sub.Length); sub = "tttt"; idx = search.Search(src, sub); Assert.IsTrue(idx < 0); }
private static void PlainSearch(string src, string sub) { RkSearch rksearch = new RkSearch(); SimpleSearch ssearch = new SimpleSearch(); DumbSearch dsearch = new DumbSearch(); DateTime start, end; int idx = 0; Console.WriteLine("Searching"); Console.WriteLine("Dumb Search ... "); start = DateTime.Now; idx = dsearch.Search(src, sub); 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.Search(src, sub); 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.Search(src, sub); end = DateTime.Now; Console.WriteLine("RK Search Time: {0}ms", (end - start).TotalMilliseconds); Console.WriteLine("Index: {0}", idx); }