具體如下:
1、深度優先遍歷的遞歸寫法
functiondeepTraversal(node){varnodes=[];if(node!=null){nodes.push(node);varchildren=node.children;for(vari=0;i<children.length;i++)deepTraversal(children[i]);}returnnodes;}
2、深度優先遍歷的非遞歸寫法
functiondeepTraversal(node){varnodes=[];if(node!=null){varstack=[];stack.push(node);while(stack.length!=0){varitem=stack.pop();nodes.push(item);varchildren=item.children;for(vari=children.length-1;i>=0;i--)stack.push(children[i]);}}returnnodes;}
3、廣度優先遍歷的遞歸寫法:
報錯:Maximum call stack size exceeded(…)
functionwideTraversal(node){varnodes=[];vari=0;if(!(node==null)){nodes.push(node);wideTraversal(node.nextElementSibling);node=nodes[i++];wideTraversal(node.firstElementChild);}returnnodes;}
4、廣度優先遍歷的非遞歸寫法
functionwideTraversal(selectNode){varnodes=[];if(selectNode!=null){varqueue=[];queue.unshift(selectNode);while(queue.length!=0){varitem=queue.shift();nodes.push(item);varchildren=item.children;for(vari=0;i<children.length;i++)queue.push(children[i]);}}returnnodes;}
到此,關于“JavaScript中深度優先遍歷和廣度優先遍歷算法怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注本站網站,小編會繼續努力為大家帶來更多實用的文章!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
(資料圖)朗坤環境2023年5月11日新股申購,以下為新股介紹:朗坤環境,發行日期為2023年5月11日,申購代碼為301305,擬公開發行A股6089.27萬股,占發行后總股本的比例為25%,網上發行1552.75萬股,單一賬戶申購上限為1.55萬股,頂格申購需配市值為15.5萬元。該新股將于創業板上市。該新股主要承銷商為招商證券股份有限公司,其承銷方式是余額包銷,發行前每股凈資產為10.1元。...
本內容來自@什么值得買APP,觀點僅代表作者本人|作者:肉吧巴巴海戰,也就是人們常說的多兵種協同進行的海上戰爭,steam上也有很多優秀的海戰游戲,大多使用弓箭和火炮作為武器。今天我們就為大家梳理幾款海戰模擬游戲。讓我們看一看。1.獵潛艇3我心目中最好的海戰模擬游戲,雖然是2005年的游戲,但在十幾年后的今天看來可玩性越來越大。各種優秀的MOD,如GWX,狼群系列和戰艦MOD,將獵潛艇3帶入了全新...
400億韓元等于多少人民幣?韓國硬幣最小單位是什么?40000000000韓元=206024400人民幣(約2.06億元人民幣)也就是說400億韓元可以兌換約2.06億元人民幣,需要說明的是,匯率每天都有波動,不等于每天都可以兌換這么多,有漲有跌,所以數據僅供大家參考,請以當天匯率為準。韓幣有紙幣和硬幣兩種。紙幣有1000韓元、5000韓元、10000韓元、50000韓元四種。韓國硬幣總共有1韓元...