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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
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);
        }