二叉树:

前序遍历:先根次序遍历 (ACFGBDE)

先打印当前的,再打印左边的,再打印右边的。

中序遍历:中根次序遍历 (FCGADBE)

先打印左边的,再打印当前的,再打印右边的

后序遍历:后根次序遍历 (FGCDEBA)

先打印左边的,再打印右边的,再打印当前的。


function Node(value){
    this.value = value;
    this.left = null;
    this.right = null;
}


let a = new Node('a');
let b = new Node('b');
let c = new Node('c');
let d = new Node('d');
let e = new Node('e');
let f = new Node('f');
let g = new Node('g');

a.left = c;
a.right = b;
c.left = f;
c.right = g;
b.left = d;
b.right = e;


// 前序遍历
function f1(root){
    if(root == null){
        return;
    }
    console.log(root.value);
    f1(root.left);
    f1(root.right);
}


// f1(a);


// 中序遍历
function f2(root){
    if(root == null){
        return;
    }
    f2(root.left);
    console.log(root.value);
    f2(root.right);
}

// f2(a);


// 后续遍历
function f3(root){
    if(root == null){
        return;
    }
    f3(root.left);
    f3(root.right);
    console.log(root.value);
}

f3(a);

其他内容