查重网站开发,网站维护怎么样,安徽省徽工建设集团网站,自己做的网站是怎么赚钱[js] 解释下深度优先遍历和广度优先遍历的区别及如何实现
1、深度优先采用堆栈结构#xff0c;先进后出#xff0c;所占的空间较小#xff0c;执行时间较长#xff1b;
2、广度优先采用队列结构先进先出#xff0c;所占空间较大#xff0c;执行时间短#xff0c;空间换…[js] 解释下深度优先遍历和广度优先遍历的区别及如何实现
1、深度优先采用堆栈结构先进后出所占的空间较小执行时间较长
2、广度优先采用队列结构先进先出所占空间较大执行时间短空间换时间const data [{name: a,children: [{ name: b, children: [{ name: e }] },{ name: c, children: [{ name: f }] },{ name: d, children: [{ name: g }] },],},{name: a2,children: [{ name: b2, children: [{ name: e2 }] },{ name: c2, children: [{ name: f2 }] },{ name: d2, children: [{ name: g2 }] },],}]//深度优先function byDeepth(data) {let result []const map (item) {result.push(item.name)item.children item.children.forEach((item) map(item))}data.forEach((item) {map(item)})return result.join(,)}//广度优先function byBreadth(data) {let result []let queque datawhile (queque.length 0) {result.push(queque[0].name)if (queque[0].children) {queque queque.concat(queque[0].children)}queque.shift()}return result.join(,)}console.time(深度优先)console.log(深度优先, byDeepth(data))console.timeEnd(深度优先)console.time(广度优先)console.log(广度优先, byBreadth(data))console.timeEnd(广度优先)个人简介
我是歌谣欢迎和大家一起交流前后端知识。放弃很容易 但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题