本文主要介绍了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>
运行结果:
相关推荐:
php遍历算法的总结
二叉树遍历算法-php的示例
php实现的二叉树遍历算法示例代码
以上就是javascript实现树的遍历算法示例的详细内容。