【前端】深度优先与广度优先
生活随笔
收集整理的這篇文章主要介紹了
【前端】深度优先与广度优先
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
學(xué)習(xí)DOM-DIFF與Fiber時(shí),常常聽(tīng)到深度優(yōu)先與廣度優(yōu)先這兩個(gè)名詞,本文做下代碼實(shí)現(xiàn)與總結(jié)
//示例 const root = {name: 'A1',children: [{name: 'B',children: [{name: 'B1'},{name: 'B2'}]},{name: 'C',children: [{name: 'C1'},{name: 'C2'}]}] }//深度優(yōu)先 function dfs(node) {console.log(node.name);node.children?.forEach(dfs); } dfs(root) // A B B1 B2 C C1 C2//廣度優(yōu)先 function bfs(node) {const stack = [];stack.push(node);let current;while((current = stack.shift())) {console.log(current.name);current.children?.forEach(child => {stack.push(child);})} } bfs(root) // A B C B1 B2 C1 C2總結(jié)
以上是生活随笔為你收集整理的【前端】深度优先与广度优先的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle数据保护DataGuard安
- 下一篇: html生成报告,生成HTML测试报告