当前位置: 代码迷 >> 综合 >> 二叉树的前序、中序、后序遍历 (递归)
  详细解决方案

二叉树的前序、中序、后序遍历 (递归)

热度:23   发布时间:2024-02-09 08:04:31.0

前序遍历:先输出父节点,再遍历左子树和右子树
中序遍历:先遍历左子树,再输出父节点,再遍历右子树
后序遍历:先遍历左子树,再遍历右子树,最后输出父节点
小结:看输出父节点的顺序,就确定是前序,中序还是后序

前序遍历

// 前序遍历public void preOrder() {System.out.println(this);// 先输出父节点// 递归左子树if (this.left != null) {this.left.preOrder();}// 递归右子树if (this.right != null) {this.right.preOrder();}}

 

中序遍历

// 中序遍历public void infixOrder() {// 递归左子树if (this.left != null) {this.left.infixOrder();}System.out.println(this);// 先输出父节点// 递归右子树if (this.right != null) {this.right.infixOrder();}}

 

后序遍历

// 后序遍历public void postOrder() {// 递归左子树if (this.left != null) {this.left.postOrder();}// 递归右子树if (this.right != null) {this.right.postOrder();}System.out.println(this);// 先输出父节点}

 

  相关解决方案