У меня есть неориентированный взвешенный график, представляющий дерево навыков с затратами на достижение нового узла. Начиная с исходной точки (уже известной), я буду sh перечислять все возможные пути «вдали» от исходной точки.
«Точки» могут быть потрачены из любого из задействованных узлов, поэтому путь может иметь несколько ветвей и может ветвиться из любой точки.
Я пробовал с реализацией BFS, но это не имеет характера ветвления.
Я пробовал с итерацией каждого соединения каждого узел, но он растет очень быстро, и я не вижу способа эффективно исключить варианты, которые уже были найдены.
Есть ли что-то, что мне не хватает, или лучший алгоритм, который я могу использовать?