В настоящее время я выполняю первый поиск глубины:
protected void algorithmLogic() {
currentNode = ((Stack<Node>) expanded).pop();
if(atGoal()) {
// Goal reached so stop
return;
}
else {
visited.add(currentNode);
if(currentNode.hasChild()) {
for(int i=currentNode.getChildren().size()-1;i>-1;i--) {
((Stack<Node>) expanded).push(currentNode.getChildren().get(i));
}
}
}
}
Это работает над деревом на узлах.
Можно ли каким-то образом отредактировать этот код таким образом, чтобы он выполнял итеративный углубляющий поиск? Скажите с лимитом 2? Я не могу придумать способ отслеживания уровня.
для тех, кого это интересует, я решил это с помощью этого написания DFS с итеративным углублением без рекурсии
В моей реализации я использовал хэш-карту с узловыми ключами и целое число, представляющее уровень узла как значение.