向各位 v2er 请教一个问题。
现在做项目遇到了这种情况,有一棵树,在树下面的某个节点要插入一个 node ,现在用了一个插件,在插入数据时是这样插入的
$scope.treedata[1].children.push(node);
现在要插入一个 node ,但是不确定是在哪个节点下插入的。(有可能是$scope.treedata[i].children[j]或$scope.treedata[i].children[j].children[k]等等)
已知要在 id 为“ 111 ”的节点插入 node ,现在我想到的方法时广度遍历,判断 id 是否相等,然后插入,但是有些问题。。
1.广度遍历怎么获取路径?(即$scope.treedata[i].children[j].children[k]中 i,j,k 等)
2.有没有哪位大神想到什么更简单的方法?
1
domty 2017-04-13 18:11:32 +08:00
需求就是在一颗树里面进行遍历,当找到某个节点的时候给这个节点插入一个子节点?
这个你对应设计一个栈不可以吗,每遍历到一个节点就把节点信息压入栈里,如果查找失败就压出。最后找到节点后依次弹出栈中的数据,反转下就是从根节点到该点的路径了。 |
2
hxndg 2017-04-13 20:51:19 +08:00
为什么要广搜?深搜可以么?
ls 应该是深搜记录路径把。 |
4
IJustmaogepao OP |