Пройдите по дереву решений и захватите каждый узел - PullRequest
1 голос
/ 27 сентября 2019

Я пытаюсь пройти по дереву решений по одному узлу за раз.

Каждый узел может иметь 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)

Как я могу получить это, чтобы отследить, где он был, начать заново и взятьновый путь

...