Beispiel #1
0
        public static DoubleArrayTrie Build(List <string> surfaces, bool compact)
        {
            var trie = new Trie.Trie();

            foreach (var surface in surfaces)
            {
                trie.Add(surface);
            }
            var doubleArrayTrie = new DoubleArrayTrie(compact);

            doubleArrayTrie.Build(trie);

            return(doubleArrayTrie);
        }
Beispiel #2
0
        public void TrieInsertTestRecursive()
        {
            //default Trie would be created with Iterative Strategies
            var trie = new Trie.Trie(new RecursiveInsertStrategy(), new RecursiveSearchStrategy());

            trie.Insert("ab");
            trie.Insert("abc");
            trie.Insert("abcd");
            trie.Insert("abcdefg");
            trie.Insert("abcde");
            trie.Insert("ilu");
            Assert.IsTrue(trie.Exists("abcd"));
            Assert.IsFalse(trie.Exists("af"));
            Assert.IsFalse(trie.Exists("i"));
            Assert.IsTrue(trie.Exists("ilu"));
            trie.Delete("ilu");
            Assert.IsFalse(trie.Exists("ilu"));
            trie.Delete("abc");
            Assert.IsTrue(trie.Exists("abcd"));
            Assert.IsFalse(trie.Exists("abc"));
        }
Beispiel #3
0
 public void Init()
 {
     _trie = new Trie.Trie();
 }