前序遍历的结果是【A, B, D, E, C, F, G】
中序的结果是【D, B, E, A, F, C, G】
后序遍历的结果是【D, E, B, F, G, C, A】
function Tree(value) {
this.value = value;
this.left = null;
this.right = null;
}
let a = new Tree("A");
let b = new Tree("B");
let c = new Tree("C");
let d = new Tree("D");
let e = new Tree("E");
let f = new Tree("F");
let g = new Tree("G");
a.left = b;
a.right = c;
b.left = d;
b.right = e;
c.left = f;
c.right = g;
// 前序遍历
function preOrder(node) {
if(node == null) return;
console.log(node.value);
preOrder(node.left);
preOrder(node.right);
}
preOrder(a)
//中序遍历
function middleOrder(node) {
if(node == null) return;
middleOrder(node.left);
console.log(node.value);
middleOrder(node.right);
}
middleOrder(a)
//后序遍历
function postOrder(node) {
if(node == null) return;
postOrder(node.left);
postOrder(node.right);
console.log(node.value);
}
postOrder(a)