JavaScript实现二叉树的先序、中序及后序遍历方法详解
本文实例讲述了JavaScript实现二叉树的先序、中序及后序遍历方法。分享给大家供大家参考,具体如下:
之前学数据结构的时候,学了二叉树的先序、中序、后序遍历的方法,并用C语言实现了,下文是用js实现二叉树的3种遍历,并以动画的形式展现出遍历的过程。
整个遍历过程还是采用递归的思想,原理很粗暴也很简单
先序遍历的函数:
functionpreOrder(node){
if(!(node==null)){
divList.push(node);
preOrder(node.firstElementChild);
preOrder(node.lastElementChild);
}
}
中序遍历的函数:
functioninOrder(node){
if(!(node==null)){
inOrder(node.firstElementChild);
divList.push(node);
inOrder(node.lastElementChild);
}
}
后序遍历的函数:
functionpostOrder(node){
if(!(node==null)){
postOrder(node.firstElementChild);
postOrder(node.lastElementChild);
divList.push(node);
}
}
颜色变化函数:
functionchangeColor(){
vari=0;
divList[i].style.backgroundColor='blue';
timer=setInterval(function(argument){
i++;
if(i
核心代码如上,本来想写深度优先遍历和广度优先遍历。后来发现二叉树深度优先遍历和先序遍历相同。改日总结一下树的BFS和DFS。
全部代码如下: