JavaScript實現(xiàn)樹的遍歷算法示例【廣度優(yōu)先與深度優(yōu)先】
本文實例講述了JavaScript實現(xiàn)樹的遍歷算法。分享給大家供大家參考,具體如下:
<script type="text/javascript"> var t = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]; //下面這段深度優(yōu)先搜索方法出自Aimingoo的【JavaScript語言精髓與編程實踐】 var deepView = function(aTree,iNode) { (iNode in aTree) && (document.write(aTree[iNode]+'<br/>'),arguments.callee(aTree,2*iNode+1),arguments.callee(aTree,2*iNode+2)) } //廣度優(yōu)先 var wideView = function(aTree,iNode) { var aRTree = aTree.slice(0),iRNode = iNode,iLevel = 1; (iRNode in aRTree) && document.write(aRTree[iRNode]+'<br/>'); (function() { var iStart = iRNode*2+1,iEnd = iStart+Math.pow(2,iLevel); document.write(aRTree.slice(iStart,iEnd).join(',')+'<br/>'); if(iEnd>=aRTree.length) return; iRNode = iStart,iLevel++,arguments.callee(); })() } document.write('<h3>二叉樹 深度優(yōu)先</h3>'); //深度優(yōu)先 deepView(t,0); document.write('<h3>二叉樹 廣度優(yōu)先</h3>'); //廣度優(yōu)先 wideView(t,0); </script>
運行結(jié)果:
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- 詳解JavaScript中的forEach()方法的使用
- js中的for如何實現(xiàn)foreach中的遍歷
- JavaScript forEach()遍歷函數(shù)使用及介紹
- javascript forEach通用循環(huán)遍歷方法
- Javascript數(shù)組循環(huán)遍歷之forEach詳解
- javascript forEach函數(shù)實現(xiàn)代碼
- 關(guān)于JavaScript中forEach和each用法淺析
- jQuery each和js forEach用法比較
- jsp簡單自定義標簽的forEach遍歷及轉(zhuǎn)義字符示例
- JavaScript樹的深度優(yōu)先遍歷和廣度優(yōu)先遍歷算法示例
- JavaScript實現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法操作示例
- JS實現(xiàn)手寫 forEach算法示例
相關(guān)文章
微信小程序使用toast消息對話框提示用戶忘記輸入用戶名或密碼功能【附源碼下載】
這篇文章主要介紹了微信小程序使用toast消息對話框提示用戶忘記輸入用戶名或密碼功能,結(jié)合實例形式詳細分析了toast組件實現(xiàn)消息提示功能的相關(guān)操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2017-12-12原生JS+CSS實現(xiàn)炫酷重力模擬彈跳系統(tǒng)的登錄頁面
今天小編給大家分享基于原生JS實現(xiàn)一個炫酷的登錄頁面,實現(xiàn)效果有點像重力模擬彈跳系統(tǒng),效果非常棒,需要的朋友參考下實現(xiàn)代碼吧2017-11-11值得學(xué)習(xí)的JavaScript調(diào)試技巧分享
這篇文章主要給大家介紹了一些JavaScript調(diào)試技巧,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06BootstrapValidator實現(xiàn)表單驗證功能
這篇文章主要為大家詳細介紹了BootstrapValidator實現(xiàn)表單驗證功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-1127個JavaScript數(shù)組常見方法匯總與實例說明
這篇文章主要介紹了JavaScript數(shù)組常見方法匯總與實例說明包括數(shù)組修改,數(shù)組增加,數(shù)組遍歷,數(shù)組排序等操作,需要的朋友可以參考下2022-12-12