您好,登錄后才能下訂單哦!
小編給大家分享一下js怎么實(shí)現(xiàn)廣度優(yōu)先遍歷,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、廣度優(yōu)先遍歷二叉樹(shù),即按層次去遍歷。
2、新建隊(duì)列,根節(jié)點(diǎn)入隊(duì),出隊(duì)并訪問(wèn)隊(duì)頭,重復(fù)隊(duì)頭未訪問(wèn)的相鄰節(jié)點(diǎn)2、3步,直至隊(duì)列為空。
實(shí)例
//圖的廣度優(yōu)先遍歷 const graph = { 0: [1, 2], 1: [2], 2: [0, 3], 3: [3], }; //圖的深度優(yōu)先遍歷 const visited = new Set(); visited.add(2); const q = [2]; const bfs = (n) => { while (q.length) { const n = q.shift(); console.log(n); graph[n].forEach((c) => { if (!visited.has(c)) { q.push(c); visited.add(c); } }); } }; bfs(2); // 2 0 3 1
以上是“js怎么實(shí)現(xiàn)廣度優(yōu)先遍歷”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。