Example #1
0
        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);
        }
Example #2
0
        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);
        }