美文网首页JavaScript与数据结构
JavaScript数据结构10——二叉树的遍历

JavaScript数据结构10——二叉树的遍历

作者: RichardW | 来源:发表于2017-03-27 14:07 被阅读0次
function BTNode(data) {
    this.data = data;
}
BTNode.prototype.setLC = function(node){
    this.leftchild = node;
}
BTNode.prototype.setRC = function(node){
    this.rightchild = node;
}
//前序遍历
function preOrderTraverse(Btree){
    if(Btree==null){
        return;
    }
    console.info(Btree.data);
    preOrderTraverse(Btree.leftchild);
    preOrderTraverse(Btree.rightchild);
}
//中序遍历
function inOrderTraberse(Btree){
    if(Btree==null){
        return;
    }
    inOrderTraberse(Btree.leftchild);
    console.info(Btree.data);
    inOrderTraberse(Btree.rightchild);
}
//后序遍历
function postOrderTraberse(Btree){
    if(Btree==null){
        return;
    }
    postOrderTraberse(Btree.leftchild);
    postOrderTraberse(Btree.rightchild);
    console.info(Btree.data);
}
var nodeA = new BTNode('A');
var nodeB = new BTNode('B');
var nodeC = new BTNode('C');
var nodeD = new BTNode('D');
var nodeE = new BTNode('E');
var nodeF = new BTNode('F');
var nodeG = new BTNode('G');
var nodeH = new BTNode('H');
var nodeI = new BTNode('I');
var nodeJ = new BTNode('J');
var nodeK = new BTNode('K');
nodeA.setLC(nodeB);
nodeA.setRC(nodeC);
nodeB.setLC(nodeD);
nodeB.setRC(nodeE);
nodeD.setLC(nodeH);
nodeH.setRC(nodeK);
nodeC.setLC(nodeF);
nodeC.setRC(nodeG);
nodeF.setLC(nodeI);
nodeG.setRC(nodeJ);
console.info('前序遍历');
preOrderTraverse(nodeA);
console.info('中序遍历');
inOrderTraberse(nodeA);
console.info('后序遍历');
postOrderTraberse(nodeA);

结果显而易见

前序遍历
ABDHKECFIGJ
中序遍历
HKDBEAIFCGJ
后序遍历
KHDEBIFJGCA

相关文章

  • 关于函数递归和迭代的转化, 及尾递归相关知识的接触和思考

    javascript实现数据结构: 树和二叉树,二叉树的遍历和基本操作 js 二叉树 【数据结构与算法】深入浅出递...

  • 二叉树的遍历

    数据结构算法 二叉树的遍历

  • python实现二叉树的遍历

    二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,...

  • 算法系列--二叉树的三种遍历的六种实现

    0. 二叉树是常见的数据结构,二叉树常见的遍历方式有前序遍历,中序遍历和后序遍历。前序遍历就是中-左-右节点的顺序...

  • 二叉树的四种遍历方法

    二叉树的数据结构 1、前序遍历(递归) 2、中序遍历(递归) 3、后序遍历(递归) 4、层次遍历(队列)

  • Python实现深度优先与广度优先

    二叉树的两种遍历是数据结构的经典考察题目, 广度遍历考察队列结构, 深度遍历考察递归 二叉树 深度优先 先序遍历(...

  • 数据结构第12讲 二叉树的层次遍历

    数据结构第12讲 二叉树的层次遍历 二叉树的遍历一般有先序遍历、中序遍历和后序遍历,这三种遍历比较简单。今天我们讲...

  • 算法学习

    ### 实现二叉树以及二叉树遍历数据结构递归比较重要 1.先序遍历 先序遍历,就是先遍历根节点然后再遍历左子树,最...

  • 二叉树的总结

    1、二叉树的数据结构 2、二叉树的创建 树的结构: 输入:AB#C##D## ; 3、二叉树的遍历 二叉树的遍历分...

  • 数据结构之二叉树

    数据结构之二叉树 递归构造二叉树 二叉树节点: 递归构造: 图示: 递归遍历 递归实现先序遍历 图示: 递归实现中...

网友评论

    本文标题:JavaScript数据结构10——二叉树的遍历

    本文链接:https://www.haomeiwen.com/subject/tylrottx.html