溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

js怎么實(shí)現(xiàn)廣度優(yōu)先遍歷

發(fā)布時(shí)間:2021-10-15 11:23:24 來(lái)源:億速云 閱讀:138 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI