下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第JavaScript實現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法操作示例本文實例講述了JavaScript實現(xiàn)多叉樹的遞歸遍歷和非遞歸遍歷算法操作。分享給大家供大家參考,具體如下:
演示之前的準備工作
演示項目的文件結(jié)構(gòu):
index.html
jsonData.js
recurrenceTree.js
noRecurrenceTree.js
解釋一下各個文件:
index.html是用來演示的HTML文件。
jsonData.js里面存儲著多叉樹的JSON數(shù)據(jù)。
recurrenceTree.js遞歸算法遍歷樹。
noRecurrenceTree.js非遞歸算法遍歷樹。
jsonData.js
*用于演示的JSON樹形數(shù)據(jù)結(jié)構(gòu)
varroot={
name:'D盤',
children:[
name:'學(xué)習(xí)',
children:[
name:'電子書',
children:[
name:'文學(xué)',
children:[
name:'茶館'
name:'紅與黑'
name:'電影',
children:[
name:'美國電影'
name:'日本電影'
index.html
!DOCTYPEhtml
htmllang="en"
head
metacharset="UTF-8"
metaname="renderer"content="webkit"/
metahttp-equiv="x-ua-compatible"content="ie=edge,chrome=1"
metahttp-equiv="Cache-Control"content="max-age:31536000"
titlejs多叉樹遍歷/title
metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"
metaname="wap-font-scale"content="no"
metaname="author"content=""
metaname="keywords"content=""
metaname="description"content=""
scripttype="text/javascript"src="jsonData.js"/script
/head
body
遞歸遍歷:spanid="app"/span
scripttype="text/javascript"src="recurrenceTree.js"/script
非遞歸遍歷:spanid="app2"/span
scripttype="text/javascript"src="noRecurrenceTree.js"/script
/body
/html
遞歸遍歷
recurrenceTree.js
//遍歷單個節(jié)點
functiontraverseNode(node){
vardivObj=document.getElementById("app");
divObj.innerHTML=divObj.innerHTML+""+;
//遞歸遍歷樹
//作者:張超
functiontraverseTree(node){
if(!node){
return;
traverseNode(node);
if(node.childrennode.children.length0){
vari=0;
for(i=0;inode.children.length;i++){
this.traverseTree(node.children[i]);
traverseTree(root);
非遞歸遍歷
noRecurrenceTree.js
//遍歷單個節(jié)點
functiontraverseNode2(node){
vardivObj2=document.getElementById("app2");
divObj2.innerHTML=divObj2.innerHTML+""+;
//非遞歸遍歷樹
//作者:張超
functiontraverseTree2(node){
if(!node){
return;
varstack=[];
stack.push(node);
vartmpNode;
while(stack.length0){
tmpNode=stack.pop();
traverseNode2(tmpNode);
if(tmpNode.childrentmpNode.children.length0){
vari=tmpNode.children.length-1;
for(i=tmpNode.children.length-1;ii--){
stack.push(tmpNode.children[i]);
traverseTree2(root);
本機測試效果:
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《Ja
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年智能停車輔助系統(tǒng)項目公司成立分析報告
- 2025年中職水利水電工程施工(水工建筑物基礎(chǔ))試題及答案
- 2026年家政服務(wù)教學(xué)(家政服務(wù)應(yīng)用)試題及答案
- 2025年高職防災(zāi)減災(zāi)技術(shù)(災(zāi)害預(yù)防措施)試題及答案
- 2025年高職物理學(xué)(相對論)試題及答案
- 2025年中職作曲與作曲技術(shù)理論(作曲理論)試題及答案
- 2025年中職(茶葉生產(chǎn)與加工)茶葉采摘標準試題及答案
- 2025年大學(xué)大四(印刷企業(yè)管理)企業(yè)運營專項測試題及答案
- 2025年大學(xué)生態(tài)環(huán)境保護(生態(tài)修復(fù)工程)試題及答案
- 2025年高職數(shù)字媒體藝術(shù)設(shè)計(數(shù)字插畫創(chuàng)作)試題及答案
- 2026年電商直播主播簽約協(xié)議
- 2026年中化地質(zhì)礦山總局浙江地質(zhì)勘查院招聘備考題庫及1套完整答案詳解
- 護理部年度述職報告
- 2026青海果洛州久治縣公安局招聘警務(wù)輔助人員30人筆試模擬試題及答案解析
- 2026年高考全國一卷英語真題試卷(新課標卷)(+答案)
- 湖南名校聯(lián)考聯(lián)合體2026屆高三年級1月聯(lián)考數(shù)學(xué)試卷+答案
- 2025-2030中國環(huán)保產(chǎn)業(yè)市場動態(tài)及投資機遇深度分析報告
- 山東省煙臺市芝罘區(qū)2024-2025學(xué)年三年級上學(xué)期期末數(shù)學(xué)試題
- GB/T 6074-2025板式鏈、連接環(huán)和槽輪尺寸、測量力、抗拉載荷和動載載荷
- 護理員職業(yè)道德與法律法規(guī)
- 2025年度麻醉科主任述職報告
評論
0/150
提交評論