У меня есть структура данных, составленная из связанных списков linkdelist.LinkedLists LinkedLists с рекурсией
Например:
[ [A,B,C] [D,E,F] [A,B] [E,F] ]
Моя цель состоит в том, чтобы найти те linkedlists, которые никогда не содержатся во всей структуре. Для 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
}
}
}
Несмотря сравниваю все возможные комбинации, я пропускаю некоторые узлы в дереве. Есть ли что-то не так, что связано с связанными списками?
Что именно вы подразумеваете под «содержать» здесь? – kkaosninja
Добро пожаловать в переполнение стека! Похоже, вам нужно научиться использовать отладчик. Пожалуйста, помогите нам с некоторыми [дополнительными методами отладки] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Если у вас все еще есть проблемы после этого, пожалуйста, не забудьте вернуться с более подробной информацией. –