【发布时间】:2021-10-28 18:52:59
【问题描述】:
我有一个通用树,我想从中生成所有可能的子树。 示例(节点中的值是随机的):
0
/ | \
1 2 4
|
3
可能的输出是:
(0)
(0,1)(0,2)(0,4)(0,2,3)
(0,1,2) (0,2,4) (0,1,2,3) (0,1,2,4) (0,2,3,4)
(0,1,2,3,4)
我补充说我传递了一个包含节点和边列表的树对象,然后用 graphviz 打印。示例:
List<Node> nodes = new ArrayList<>(); // [0,1,2,3,4]
List<Edge> edges = new ArrayList<>(); // [(0,null), (0,1), (0,2), (2,3), (0,4)]
Tree tree = new Tree(nodes,edges);
// this is an example of a tree that I pass as a parameter
我正在尝试使用递归方法,但我通过的边可以是随机的,节点也可以。我只知道根节点,它在第一条边[(0, null)]
提前感谢您的宝贵时间!
【问题讨论】:
标签: java recursion tree graphviz