我目前正在实施深度优先搜索:
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?我无法想出跟踪关卡的方法。
答案 0 :(得分:0)
对于那些感兴趣的人,我在Writing a DFS with iterative deepening without recursion
的帮助下解决了这个问题
在我的实现中,我使用了一个带有节点键的hashmap和一个表示节点级别的整数作为值。