//树形遍历 深度优先 function TreeDeepTravel(node, nodes) { //类型校验 if (Object.prototype.toString.call(node) !== "[object Object]") { console.log("请输入树形结构对象"); return; } if (node !== null) { nodes.push(node); var children = node.children; if (children && children.length) { for (var i = 0, len = children.length; i < len; i++) { TreeDeepTravel(children[i], nodes); } } } return nodes; } // 树形遍历 广度优先 // 多一个队列机制 function TreeWideTravel(node) { if (Object.prototype.toString.call(node) !== "[object Object]") { console.log("请输入树形结构对象"); return; } var nodes = []; if (node !== null) { var queue = []; //队列头部加入 queue.unshift(node); while (queue.length !== 0) { let node = queue.shift(); nodes.push(node); var children = node.children; if (children && children.length) { for (var i = 0, len = children.length; i < len; i++) { queue.push(children[i]); } } } } return nodes; }
深度优先遍历与广度优先遍历
最新推荐文章于 2024-03-09 19:59:36 发布