问题:假设现在有一棵树,注意这里的树不一定是二叉树(也即可以是多叉树),我们希望枚举出从根结点到每一个叶子结点的路径,这个算法该如何实现?
下面的例子主要采用Python来实现。为了方便构建一棵树(还有后面的有向图),这里直接使用Python中NetworkX包(NetworkX是一个用Python语言开发的图论与复杂网络建模工具)。首先引入必要的包。
import copy
import networkx as nx
from collections import deque
import matplotlib.pyplot as plt
%matplotlib inline
构建一棵多叉树 T:
T = nx.DiGraph()
T.add_nodes_from(['a','b','c','d','e','f','g','i'])
T.add_edges_from([('a','b'),('b','c'),('c','d'),('d','e'