我已经尝试过;搜索和搜索,但无法真正找到解决我问题的算法。我想枚举一棵树中的所有路径,(不仅仅是简单的路径)那些以叶节点开始和结束的路径(虽然这是一个简单的约束)。
例如,对于一棵树;
1
/ \
2 3
/ \ / \
4 5 6 7
我希望能够生成以下路径:
4
4-2-5
4-2-5-2-1-3-6
4-2-5-2-1-3-7
4-2-5-2-1-3-6-3-7
4-2-1-3-6
4-2-1-3-7
4-2-1-3-6-3-7
5
5-2-1-3-6
5-2-1-3-7
5-2-1-3-6-3-7
6
6-3-7
7
我想就是这样。
我尝试了以下解决方案使用深度优先搜索查找所有简单路径的复杂性?. 但是,这只能找到简单的路径,因此无法找到诸如 4-2-5-2-1-3-6 之类的路径。
有什么方法可以指导我,或者任何算法?