Exemple #1
0
        public void TestTrieST()
        {
            // build symbol table
            TrieST<string> st = new TrieST<string>();
            string[] a = new string[] { "by", "sea", "sells", "she", "shells", "shore", "the", };
            for (int i = 0; i < a.Length; i++) st.Put(a[i], i.ToString());

            // print results
            if (st.Size() < 100)
            {
                Debug.WriteLine("keys(\"\"):");
                foreach (string key in st.Keys())
                    Debug.WriteLine(key + " " + st.Get(key));
                Debug.WriteLine(Environment.NewLine);
            }

            Debug.WriteLine("longestPrefixOf(\"shellsort\"):");
            Debug.WriteLine(st.LongestPrefixOf("shellsort"));
            Debug.WriteLine(Environment.NewLine);

            Debug.WriteLine("longestPrefixOf(\"quicksort\"):");
            Debug.WriteLine(st.LongestPrefixOf("quicksort"));
            Debug.WriteLine(Environment.NewLine);

            Debug.WriteLine("keysWithPrefix(\"shor\"):");
            foreach (string s in st.KeysWithPrefix("shor"))
                Debug.WriteLine(s);
            Debug.WriteLine(Environment.NewLine);

            Debug.WriteLine("keysThatMatch(\".he.l.\"):");
            foreach (string s in st.KeysThatMatch(".he.l."))
                Debug.WriteLine(s);
        }
        public void Run()
        {
            Console.WriteLine("Choose file:"); // Prompt
            Console.WriteLine("1 - shellsST.txt"); // Prompt
            Console.WriteLine("or quit"); // Prompt

            var fileNumber = Console.ReadLine();
            var fieName = string.Empty;
            switch (fileNumber)
            {
                case "1":
                    fieName = "shellsST.txt";
                    break;
                case "quit":
                    return;
                default:
                    return;
            }

            var @in = new In($"Files\\Strings\\{fieName}");
            var content = @in.ReadAllStrings();
            var st = new TrieST<Integer>();
            for (var i = 0; i< content.Length; i++)
            {
                st.Put(content[i], i);
            }

            // print results
            if (st.Size() < 100)
            {
                Console.WriteLine("keys(\"\"):");
                foreach (var key in st.Keys())
                {
                    Console.WriteLine($"{key} {st.Get(key).Value}");
                }
                Console.WriteLine();
            }

            Console.WriteLine("longestPrefixOf(\"shellsort\"):");
            Console.WriteLine(st.LongestPrefixOf("shellsort"));
            Console.WriteLine();

            Console.WriteLine("longestPrefixOf(\"quicksort\"):");
            Console.WriteLine(st.LongestPrefixOf("quicksort"));
            Console.WriteLine();

            Console.WriteLine("keysWithPrefix(\"shor\"):");
            foreach (var s in st.KeysWithPrefix("shor"))
                Console.WriteLine(s);
            Console.WriteLine();

            Console.WriteLine("keysThatMatch(\".he.l.\"):");
            foreach (var s in st.KeysThatMatch(".he.l."))
                Console.WriteLine(s);

            Console.ReadLine();
        }
Exemple #3
0
        static void Main(string[] args)
        {
            #region strings sorts

            /*string[] strs = new string[]
            {
                "4PGC938",
                "2IYE230",
                "3CIO720",
                "1ICK750",
                "1OHV845",
                "4JZY524",
                "1ICK750",
                "3CIO720",
                "1OHV845",
                "1OHV845",
                "2RLA629",
                "2RLA629",
                "3ATW723"
            };

            strs.Show();
            Console.WriteLine();

            //LSD.sort(strs,7);
            //MSD.sort(strs);
            Quick3string.sort(strs);

            strs.Show();*/

            #endregion

            #region Tries
            TrieST<int> tst = new TrieST<int>();
            tst.put("by", 4);
            tst.put("sea", 2);
            tst.put("sells", 1);
            tst.put("she", 0);
            tst.put("shells", 3);
            tst.put("the", 5);

            foreach (var key in tst.keys())
            {
                Console.WriteLine(key);
            }
            #endregion

            Console.ReadKey();
        }
Exemple #4
0
    void TrieSTStart()
    {
        string[] strs = txt.text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        // build symbol table from standard input
        TrieST <int> st = new TrieST <int>();

        for (int i = 0; i < strs.Length; i++)
        {
            string key = strs[i];
            st.put(key, i);
        }

        // print results
        if (st.size() < 100)
        {
            string str = "keys(\"\"):";
            foreach (string key in st.keys())
            {
                str += ("\t" + key + " " + st.get(key));
            }
            print(str);
        }

        print("longestPrefixOf(\"shellsort\"):");
        print(st.longestPrefixOf("shellsort"));

        print("longestPrefixOf(\"quicksort\"):");
        print(st.longestPrefixOf("quicksort"));

        print("keysWithPrefix(\"shor\"):");
        foreach (string s in st.keysWithPrefix("shor"))
        {
            print(s);
        }

        print("keysThatMatch(\".he.l.\"):");
        foreach (string s in st.keysThatMatch(".he.l."))
        {
            print(s);
        }
    }
Exemple #5
0
        public void Run()
        {
            Console.WriteLine("Choose file:");     // Prompt
            Console.WriteLine("1 - shellsST.txt"); // Prompt
            Console.WriteLine("or quit");          // Prompt

            var fileNumber = Console.ReadLine();
            var fieName    = string.Empty;

            switch (fileNumber)
            {
            case "1":
                fieName = "shellsST.txt";
                break;

            case "quit":
                return;

            default:
                return;
            }


            var @in     = new In($"Files\\Strings\\{fieName}");
            var content = @in.ReadAllStrings();
            var st      = new TrieST <Integer>();

            for (var i = 0; i < content.Length; i++)
            {
                st.Put(content[i], i);
            }

            // print results
            if (st.Size() < 100)
            {
                Console.WriteLine("keys(\"\"):");
                foreach (var key in st.Keys())
                {
                    Console.WriteLine($"{key} {st.Get(key).Value}");
                }
                Console.WriteLine();
            }

            Console.WriteLine("longestPrefixOf(\"shellsort\"):");
            Console.WriteLine(st.LongestPrefixOf("shellsort"));
            Console.WriteLine();

            Console.WriteLine("longestPrefixOf(\"quicksort\"):");
            Console.WriteLine(st.LongestPrefixOf("quicksort"));
            Console.WriteLine();

            Console.WriteLine("keysWithPrefix(\"shor\"):");
            foreach (var s in st.KeysWithPrefix("shor"))
            {
                Console.WriteLine(s);
            }
            Console.WriteLine();

            Console.WriteLine("keysThatMatch(\".he.l.\"):");
            foreach (var s in st.KeysThatMatch(".he.l."))
            {
                Console.WriteLine(s);
            }


            Console.ReadLine();
        }