【发布时间】:2015-12-30 22:59:51
【问题描述】:
Expected tree for given array 给定一个包含 n 个元素的数组,创建一棵树,使得从根到叶的所有路径标签代表长度为“n”的数组元素的所有组合。 例如,如果数组 = {1,2,3},那么树应该是这样,从根到叶有 6 条路径,每条路径如下 {{123},{132},{213},{231}, {312},{321}} 1
【问题讨论】:
-
根值要改吗?或者创建一个虚拟根并从级别 1 开始解析?
-
是的,创建一个虚拟根,然后每个边缘标签都从数组中获取一个值...希望我很清楚...
-
您确实意识到此类树中的节点数将是 O(n!) 对吧?所以即使是小的 n 也很难处理,更不用说 10^9。
-
你需要这棵树还是仅仅递归遍历所有可能性就足够了?
-
@ElKamina - 是的! ,我基本上想以 BFS 方式遍历这样的树。让我们将“n”的值保持在一个较低的值,比如 10。我想知道找到我的子节点的边缘标签对于任何给定级别的任何给定节点的最佳方法。现在,如果我确实想要更高的 'n' 值,有什么可以实施的吗?
标签: algorithm optimization data-structures tree