現在、整数タプルのトライ データ構造を実装しようとしています。そして、次のように実装しました。
import java.util.ArrayList;
public class TrieNode {
int num;
ArrayList<TrieNode> links;
boolean endOfTuple;
public TrieNode(int num)
{
this.num = num;
links = new ArrayList<TrieNode>();
this.endOfTuple = false;
}
}
次に、次のようにトライクラスを作成します。
public class Trie {
TrieNode root;
public Trie() {
root = new TrieNode(-1);
}
public void insertTuple(int[] tuple)
{
int l = tuple.length;
TrieNode curNode = root;
for (int i = 0; i < l; i++)
{
TrieNode node = new TrieNode(tuple[i]);
if(!curNode.links.contains(node)){
curNode.links.add(node);
}
curNode = curNode.links.get(curNode.links.indexOf(node));
}
curNode.endOfTuple = true;
}
}
このトライに値を追加することはできますが、これを反復できるようにする必要があり、どうすればこれを行うことができるのか疑問に思っていましたか? たとえば、イテレータを使用してツリーを印刷したい場合...どんな助けも素晴らしいでしょう...