2014-03-28 23 views
1

我現在有作爲接着實施了深度優先搜索:的Java迭代加深且無需遞歸

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說?我想不出一種跟蹤水平的方法。

回答