我怎样才能打开这个树形结构
[1, [2, [3, 4]], [5, [6, [7], 8]]]
1
2
3
4
5
6
7
8
....进入这个“反向树”结构,它基本上包含从所有叶节点到 1(根)的路径:
[8, [5, [1]], 7, [6, [5, [1]]], 4, [2, [1]], 3, [2, [1]]]
8
5
1
7
6
5
1
4
2
1
3
2
1
结果甚至不必构造为树,以正确顺序排列的四个平面数组也可以。
看起来深度优先搜索可能是一种相关算法,但我无法理解伪代码(incidentEdges() 返回什么?),所以我很困惑。
如果有人可以提供一种 Ruby 方法(或非常容易理解的伪代码)将原始嵌套数组转换为结果数组,我将不胜感激。
这不是家庭作业,而是因为我学习时间太长了......我需要这个来为问题跟踪器中的给定问题以正确的顺序打印依赖关系树。