Java итеративное углубление на дереве без рекурсии

1

В настоящее время я выполняю первый поиск глубины:

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? Я не могу придумать способ отслеживания уровня.

Теги:
search

1 ответ

0

для тех, кого это интересует, я решил это с помощью этого написания DFS с итеративным углублением без рекурсии


В моей реализации я использовал хэш-карту с узловыми ключами и целое число, представляющее уровень узла как значение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню