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