我有几个列表:遍历任意树形结构的每个唯一路径(从根到叶)
A = ["a0", "a1"] // the number of lists varies
B = ["b0", "b1", "b2"] // such as the number of elements in a list.
C = ["c1"]
D = ["d0", "d1"]
我转换这个结构成一树:
_____ROOT______
/ \
___a0____ ____a1____
/ | \ / | \
b0 b1 b2 b0 b1 b2
| | | | | |
c1 c1 c1 c1 c1 c1
/| /| /| /| /| /|
d0 d1 d0 d1 d0 d1 d0 d1 d0 d1 d0 d1
我打印的每一个树中的独特路径(省略根):
a0 -> b0 -> c1 -> d0
a0 -> b0 -> c1 -> d1
a0 -> b1 -> c1 -> d0
...
a1 -> b2 -> c1 -> d1
我正在通过“销毁”树本身来遍历它n中的下列方式:
traverse(Node)
始终打印树(叶从根部),而已经被traverse(Node)
参观了树的delete(Node)
切叶的第一个可用路径。
这可以按预期工作,但我很想找到一种解决方案,以前面描述的方式遍历树而不会破坏它。 如果有办法做到这一点,那么我会有兴趣遍历这个相同的结构,但以图形的形式来减少冗余。
简单和工作,谢谢! – 2011-04-17 07:30:43
你怎么用javascript做到这一点? – 2014-10-18 14:05:24
添加少量代码以使该函数返回所有路径。不管怎么说,多谢拉。 :) – 2014-11-08 20:16:14