我有一个由linkdelist链接列表组成的数据结构。
例如:
[ [A,B,C] [D,E,F] [A,B] [E,F] ]
我的目标是找到从未包含在整个结构中的链接列表。对于istance,[A,B,C]和[D,E,F]从不包含在其他人中,因为它们分别包含[A,B]和[E,F]。 我需要使用递归,因为我正在处理树,所以当我找到具有这些功能的链表时,我必须回忆起我的功能。
这是我的实施:
private void treeGen(Node<LinkedList<String>> parent, LinkedList<LinkedList<String>> partitions) {
for (int i=0; i<partitions.size();i++) {
for(int j=0; i<partitions.size();i++)
{
//the condition discussed so far
if(!partitions.get(i).containsAll(partitions.get(j)) && parent.getData().containsAll(partitions.get(j)))
{
//create node
Node<LinkedList<String>> child = new Node<LinkedList<String>>();
//set value
child.setData(partitions.get(i));
//child of parent node
parent.addChild(child);
//new parent node, recursion
treeGen(child, partitions);
}
else
{
//do nothing
}
}
}
尽管我比较了所有可能的组合,但我想念树中的一些节点。 链接列表有什么问题吗?
答案 0 :(得分:1)
好吧,我猜嵌套是应该增加j而不是i。我建议你避免命名这样的索引,它可能导致一个非常令人困惑的代码,有时会导致这种错误。