LinkedLists的LinkedLists具有递归

时间:2016-11-13 20:38:05

标签: java linked-list tree

我有一个由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
            }
        }
    }

尽管我比较了所有可能的组合,但我想念树中的一些节点。 链接列表有什么问题吗?

1 个答案:

答案 0 :(得分:1)

好吧,我猜嵌套是应该增加j而不是i。我建议你避免命名这样的索引,它可能导致一个非常令人困惑的代码,有时会导致这种错误。