Exemple #1
0
        public bool Search(string Word)
        {
            if (Word == "")
            {
                return(false);
            }
            Dictionary <char, Trienode> Children = Root.Children;
            Trienode temp = null;

            for (int i = 0; i < Word.Length; i++)
            {
                if (!Children.ContainsKey(Word[i]))
                {
                    return(false);
                }
                else
                {
                    temp     = Children[Word[i]];
                    Children = temp.Children;
                }
            }
            if (temp.isLeaf == true)
            {
                return(true);
            }
            return(false);
        }
Exemple #2
0
        public bool StartsWith(string s)
        {
            Trienode node = Root;

            for (int i = 0; i < s.Length; i++)
            {
                Dictionary <char, Trienode> Children = node.Children;
                if (!Children.ContainsKey(s[i]))
                {
                    return(false);
                }
                else
                {
                    if (i == s.Length - 1)
                    {
                        return(true);
                    }
                }
                node = Children[s[i]];
            }
            return(false);
        }
Exemple #3
0
        public void AddWord(string Word)
        {
            Dictionary <char, Trienode> Children = Root.Children;

            for (int i = 0; i < Word.Length; i++)
            {
                Trienode temp;
                if (Children.ContainsKey(Word[i]))
                {
                    temp = Children[Word[i]];
                }
                else
                {
                    temp = new Trienode(Word[i]);
                    Children.Add(Word[i], temp);
                }
                Children = temp.Children;
                if (i == Word.Length - 1)
                {
                    temp.isLeaf = true;
                }
            }
        }
Exemple #4
0
 public Trie()
 {
     Root = new Trienode();
 }