宝哥软件园

JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例

编辑:宝哥软件园 来源:互联网 时间:2021-09-01

本文实例讲述了Java脚本语言实现多叉树的递归遍历和非递归遍历算法操作。分享给大家供大家参考,具体如下:

演示之前的准备工作

演示项目的文件结构:

索引。html jsondata。jsrecurrencetree。jsnorecurrencetree。射流研究…

解释一下各个文件:

index.html是用来演示的超文本标记语言文件jsonData.js。里面存储着多叉树的数据数据recurrenceTree.js递归算法遍历树noRecurrenceTree.js。非递归算法遍历树。

jsonData.js

/** * 用于演示的数据树形数据结构*/var root={ name:'D盘,children:[ { name: '学习,children:[ { name: '电子书,children:[ { name: '文学,children:[ { name: '茶馆},{ name: '红与黑} ] } ] } ] },{ name: '电影,children:[ { name: '美国电影},{ name: '日本电影} ] } ]}index.html

!DOCTYPE html html lang=' en ' head meta charset=' UTF-8 ' meta name=' renderer ' content=' WebKit '/meta http-equiv=' x-ua-compatible ' content=' ie=edge,chrome=1 ' meta http-equiv=' Cache-Control ' content=' max-age : 31536000 ' titlewww.jb51.net js多叉树遍历/title meta name=' viewport ' content=' width=device-width,initial-scale=1.0,minimal-scale=1.0,maximum-scale=1.0,user-scale=no ' meta name=' WAP-font-scale ' content=' no ' meta name=' author ' content=' meta name=' keywords ' content=' meta name=' description ' content=' script type=' text/JavaScript ' src=' http 3360 JSON data。 js '/脚本/头体递归遍历:span id='app'/span脚本类型=' text/JavaScript ' src=' http :循环树。js /脚本整点非递归遍历:span id='app2'/span脚本类型=' text/JAVAScript ' src=' http : no recurrentree。js /脚本/body/html递归遍历

recurrenceTree.js

//遍历单个节点函数遍历节点(node){ var div obj=document。getelementbyid(' app ');div obj。innerHTMl=div obj。innerHTMl“”节点。姓名;}//递归遍历树//作者:张超函数traverseTree(节点){ if(!node){ return;} traverseNode(节点);if(节点。子节点。孩子们。长度0){ var I=0;for(I=0;I节点。孩子们。长度;我){这个。traverstree(节点。儿童[I]);} } } traverseTree(根);非递归遍历

noRecurrenceTree.js

//遍历单个节点函数traverse node 2(node){ var divObj2=document。getelementbyid(' app 2 ');obj 2区。InnerHTMl=Div obj 2。InnerHTMl“”节点。姓名;}//非递归遍历树//作者:张超函数traverseTree2(节点){ if(!node){ return;} var stack=[];stack.push(节点);var tmpNodewhile(堆栈。长度0){ TMpnode=stack。pop();遍历节点2(TMpnode);if(tmp节点。子tmp节点。孩子们。长度0){ var I=tmp节点。孩子们。长度-1;for(I=TMpnode)。孩子们。长度-1;I=0;I-){ stack。push(TMpnode。儿童[I]);} } } } traverseTree2(根);本机测试效果:

更多关于Java脚本语言相关内容感兴趣的读者可查看本站专题: 《JavaScript数据结构与算法技巧总结》 、 《JavaScript数学运算用法总结》 、 《JavaScript排序算法总结》 、 《JavaScript遍历算法与技巧总结》 、 《JavaScript查找算法技巧总结》 及《JavaScript错误与调试技巧总结》

希望本文所述对大家Java脚本语言程序设计有所帮助。

更多资讯
游戏推荐
更多+