Я пытаюсь пройти по дереву решений по одному узлу за раз.
Каждый узел может иметь 2-3 пути
На узлах с 3 путями один из путейвсегда является конечной точкой, а иногда - конечной точкой
Мы не можем двигаться назад, но можем начать с начала
Нашими доступными функциями являются
getCurrentNode() #returns string of current node's path from start (ex. 'A-B-A-A-B')
getCurrentNodePaths() #returns number of possible paths from this node
startOver() #puts us back at node 0
takePath(int pathNumber) #traverse the decision tree down a desired path
Iя написал этот псевдокод, который должен рекурсивно проходить через каждый узел, но только для самого «левого» пути
# Start
def walk(pathNumber):
takePath(pathNumber)
next_nodes_paths = getCurrentNodePaths()
if next_nodes_paths.length > 0:
walk(0)
startOver()
walk(0)
Как я могу получить это, чтобы отследить, где он был, начать заново и взятьновый путь