rendered paste bodyclass trietest
{
public static void main(String[] args)
{ Trie trie;
TrieNode rootNode, currentNode, nextNode, searchNode;
trie = new Trie();
char chars[] = {'t', 'a', 'c', 'c', 'a', 'g', 't', 'a', 'c', 'c', 'a', 'g', 't', 'a', 'c', 'c', 'a', 'c', 't', 'a', '#'};
//{'a', 'b', 'b', 'c', 'd', 'e'};
int i = 0;
rootNode = trie.head();
currentNode = rootNode;
while(i < chars.length )
{ //System.out.println("Big Loop " + chars[i]);
while(true)
{ //currentNode.printNode("loop");
nextNode = trie.isChild(currentNode, chars[i]);
if(nextNode == null) break; // add chars[i] to currentNode as child
else
{ //nextNode.printNode("Great Success! found " + chars[i]);
currentNode = nextNode;
if( i + 1 < chars.length) i++;
}
}
// so now chars[i] was not found in the current trie, so add it
if(i < chars.length)
{ trie.addNode(currentNode, chars[i]);
//System.out.println("(" + currentNode.index + ", " + chars[i] + ")"); // we put the encoding here
currentNode = rootNode;
i++;
}
} // end big while
trie.printTrie();
System.out.println();
searchNode = trie.findNodeIndex(rootNode, 0);
if(searchNode != null) System.out.println("Great Success! Node 0 Found " + searchNode.letter);
else System.out.println("Node 0 not found");
searchNode = trie.findNodeIndex(rootNode, 1);
if(searchNode != null) System.out.println("Great Success! Node 1 Found " + searchNode.letter);
else System.out.println("Node 1 not found");
searchNode = trie.findNodeIndex(rootNode, 2);
if(searchNode != null) System.out.println("Great Success! Node 2 Found " + searchNode.letter);
else System.out.println("Node 2 not found");
searchNode = trie.findNodeIndex(rootNode, 3);
if(searchNode != null) System.out.println("Great Success! Node 3 Found " + searchNode.letter);
else System.out.println("Node 3 not found");
}// end main
}// end class test
/* prints results like
TRIE
TrieNode@6a55fa 9 c link=null next=TrieNode@32c41a
TrieNode@32c41a 11 # link=null next=null
TrieNode@e89b94 6 a link=TrieNode@6a55fa next=null
TrieNode@3e205f 1 t link=TrieNode@e89b94 next=TrieNode@bf73fa
TrieNode@5740bb 8 g link=null next=null
TrieNode@bf73fa 2 a link=TrieNode@5740bb next=TrieNode@5ac072
TrieNode@109a4c 10 c link=null next=null
TrieNode@201f9 4 a link=TrieNode@109a4c next=TrieNode@cf8583
TrieNode@cf8583 7 c link=null next=null
TrieNode@5ac072 3 c link=TrieNode@201f9 next=TrieNode@4693c7
TrieNode@4693c7 5 g link=null next=null
TrieNode@901887 0 - link=TrieNode@3e205f next=null
Great Success! Node 0 Found -
Node 1 not found
Node 2 not found
Node 3 not found
*/