为了账号安全,请及时绑定邮箱和手机立即绑定

递归树算法如何实现到嵌套递归数组

递归树算法如何实现到嵌套递归数组

料青山看我应如是 2021-04-27 17:57:14
有一个从哈希树对象得到启发的数组。但是结构设计不佳,有点复杂。const directories = [  "/main",  [    "folder",    ["subFolder", ["directory1", "directory2", "directory3"]],    "folder2",    ["subFolder", ["directory4", "directory5"]],    "folder3",    [      "subFolder",      ["directory4", "directory5", "directory6", "directory7"],      "subFolderWrapper",      ["folder1", ["subFolder", ["child1", "child2", "child3", "child4"]]]    ]  ]]必须创建一个递归函数,并根据给定的嵌套关系返回一个新数组。像这样的东西const result = [  "/main/",  [    "/main/folder",    [      "/main/folder/subFolder",      [        "/main/folder/subFolder/directory1",        "/main/folder/subFolder/directory2",        "/main/folder/subFolder/directory3"      ]    ],    "/main/folder2",    [      "/main/folder2/subFolder",      [        "/main/folder2/subFolder/directory4",        "/main/folder2/subFolder/directory5",        "/main/folder2/subFolder/directory6",        "/main/folder2/subFolder/directory7"      ]    ],    "/main/folder3",    [      "/main/folder3/subFolder",      [        "/main/folder3/subFolder/directory4",        "/main/folder3/subFolder/directory5",        "/main/folder3/subFolder/directory6",        "/main/folder3/subFolder/directory7"      ],      "/main/folder3/subs",      [        "/main/folder3/subFolderWrapper/folder1",        [          "/main/folder3/subs/folder1/subFolder",          [            "/main/folder3/subs/folder1/subFolder/directory1",            "/main/folder3/subs/folder1/subFolder/directory2",            "/main/folder3/subs/folder1/subFolder/directory3",            "/main/folder3/subs/folder1/subFolder/directory4"          ]        ]      ]    ]  ]];我在下面的此函数中尝试了不同的逻辑,但是这是我之前从未见过的不同的树实现。似乎需要应用某种作弊方法。因为我知道两种数组。其中一个是平面,也称为一维,另一个是二维数组。计算嵌套调用递归函数发生的时间。从项目的当前索引中减去或添加到depthCounter变量中,以到达和访问BFS一样的下一个节点。我很好奇实现此过程的最佳方法是什么。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 263 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信