HuX*_*Xu7 9 algorithm tree multiway-tree
更新:
我发现了更多关于我正在努力实现的例子:在MySQL中管理分层数据.我想在JavaScript中这样做,因为我正在构建一个应用程序,它接受层次结构中的注释,更具体的是reddit.com.如果您在chrome web浏览器上有Pretty JSON扩展,请转到reddit并单击线程注释,然后将.json添加到URL以查看我正在解析的内容.
我得到JSON数据就好了,它只是解析注释并添加适当的HTML来显示它的嵌套.
解决方案的想法?
老问题:
我正在研究一个程序,在编写代码之前,我需要找出逻辑.我正在接收树格式的数据,但是每个父节点可能有几个子节点,而我可以看到的唯一树就是树的重量或树,其中每个节点最多有两个子节点.所以我试图找出算法来评估树的每个节点,如下所示:
startingParent[15] // [# of children]
child1[0]
child2[5]
child2ch1[4]
...
child2ch5[7]
child3[32]
...
child15[4]
Run Code Online (Sandbox Code Playgroud)
现在,当我试着写出我的算法是如何工作的时候我最终编写了嵌套for/while循环但是我最终为树的高度的每个级别编写了一个循环,对于动态数据和未知高度的树具有未知数量的每个节点的子节点不起作用.我知道在某些时候我学会了如何穿越这样的树,但它现在完全逃脱了我.任何人都知道如何在循环方面做到这一点?
Mar*_*ers 17
如果您不打算使用递归,则需要辅助数据结构.队列将为您提供广度优先遍历,而堆栈将为您提供深度优先遍历.无论哪种方式,它看起来大致如下:
structure <- new stack (or queue)
push root onto structure
while structure is not empty
node <- pop top off of structure
visit(node)
for each child of node
push child onto structure
loop
Run Code Online (Sandbox Code Playgroud)
维基百科参考文献