当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript实现树的遍历算法示例【广度优先与深度优先】

JavaScript实现树的遍历算法示例【广度优先与深度优先】

2017年12月12日  | 移动技术网IT编程  | 我要评论
本文实例讲述了javascript实现树的遍历算法。分享给大家供大家参考,具体如下: <script type="text/javascript">

本文实例讲述了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程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网