Advertisement

JavaScript的BFS和剪枝操作

阅读量:

今日在StackOverflow上浏览时,想着通过帮助他人解答疑问来提升自身能力,偶然发现一个尚未得到回应的问题,便尝试提供解决方案,结果一整个下午的时间就这样过去了,作为新手确实有些无奈。需求简要说明:从一个JSON数据(可视为树状结构)中定位到特定节点,并获取该节点所处的父链及其直接子节点,同时将其他分支全部裁剪掉(包括子节点的子节点)。
整体思路大致是采用深度优先或广度优先的方式进行遍历,在匹配过程中记录父链以及每个父节点在其兄弟节点中的位置,随后执行剪枝操作。
遍历相关的代码已经自行编写完成,不过觉得赵世博-JS 中的广度与深度优先遍历所提供的实现方式更加优秀,因此后续部分参考并进行了调整,在此表示感谢。综合多个步骤后的完整代码如下:

复制代码
    <!doctype html>
    <html>
    <head>
    <meta charset='utf-8'>
    </head>
    <body>
    <script>
    //原始数据范例

全部评论 (0)

还没有任何评论哟~