JesseZhao1990 / blog

learing summary
MIT License
62 stars 7 forks source link

二叉树的遍历方法总结 #137

Open JesseZhao1990 opened 6 years ago

JesseZhao1990 commented 6 years ago

快速记忆

根左右(前) 左根右(中) 左右根(后) 有没有发现其实就是‘根’的位置发生了改变,前就是‘根’在前,‘根’在中,‘根’在后。 按照这个口诀遍历下来就是所谓的前中后遍历。

实际应用

快速排序 中缀表达式转为后缀表达式。

JesseZhao1990 commented 6 years ago

二叉树的前序遍历

function preorderTraversal(root){
  if(root === null) return;
  console.log(root.val);
  preorderTraversal(root.left);
  preorderTraversal(root.right);
}

二叉树的中序遍历

function inOrderTraversal(root){
  if(root === null) return;
  inOrderTraversal(root.left);
  console.log(root.val);
  inOrderTraversal(root.right);
}

二叉树的后续遍历

function postOrderTraversal(root){
  if(root === null) return;
  postOrderTraversal(root.left);
  postOrderTraversal(root.right);
  console.log(root.val);
}