Example #1
0
 public Trie()
 {
     _root = new TrieNode();
 }
Example #2
0
 public void DFS( TrieNode tmpTrieNode, int index, string prefix )
 {
     if( total_string_num > 15 )
         return ;
     if( tmpTrieNode.isWord && index >= prefix.Length)
     {
         Console.WriteLine( tmpTrieNode.desc );
         total_string_num ++ ;
         str_list.Add( tmpTrieNode.desc );
     }
     if ( index < prefix.Length && tmpTrieNode.children.ContainsKey(prefix[index ]) )
     {
         DFS(tmpTrieNode.children[prefix[index]], index + 1 ,prefix );
     }
     if( index >= prefix.Length ){
         Console.Write( prefix ) ;
         foreach( KeyValuePair< char, TrieNode > pair in tmpTrieNode.children )
             DFS(  pair.Value, index, prefix ) ;
         return;
     }
 }