Пример #1
0
        public void Add(string word, char relatedLetter)
        {
            TreeNode current = root;
            int index = 0;

            while (index < word.Length)
            {
                TreeNode childNode = current.GetChild(word[index]);
                if (null != childNode)
                {
                    current = childNode;
                }
                else
                {
                    if (index == word.Length - 1)
                    {
                        current.AddChild(new TreeNode(relatedLetter), word[index]);
                    }
                    else
                    {
                        TreeNode newCurrent = new TreeNode();
                        current.AddChild(newCurrent, word[index]);
                        current = newCurrent;
                    }
                }
                ++index;
            }
        }
Пример #2
0
 public InvertedIndexTree()
 {
     root = new TreeNode();
 }
Пример #3
0
 public void AddChild(TreeNode node, char letter)
 {
     childNodes.Add(letter, node);
 }