本文实例讲述了javascript实现树的遍历算法。分享给大家供大家参考,具体如下:
<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]; //下面这段深度优先搜索方法出自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)) } //广度优先 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>二叉树 深度优先</h3>'); //深度优先 deepview(t,0); document.write('<h3>二叉树 广度优先</h3>'); //广度优先 wideview(t,0); </script>
运行结果:
更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript数据结构与算法技巧总结》、《javascript数学运算用法总结》、《javascript排序算法总结》、《javascript遍历算法与技巧总结》、《javascript查找算法技巧总结》及《javascript错误与调试技巧总结》
希望本文所述对大家javascript程序设计有所帮助。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论