用递归方式实现二叉树先序、中序、后序遍历
来源:互联网 发布:centos 7.0安装教程 编辑:程序博客网 时间:2024/06/08 06:29
先序遍历:中、左、右
中序遍历:左、中、右
后序遍历:左、右、中
比如下面这科树
1
2 34 5 6 7
package com.sangfor.tree;public class Node {public int value;public Node left;public Node right;public Node(int value) {this.value = value;}}
package com.sangfor.tree;public class ForEachTree { public static void main(String[] args) { Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node node4 = new Node(4); Node node5 = new Node(5); Node node6 = new Node(6); Node node7 = new Node(7); node1.left = node2; node1.right = node3; node2.left = node4; node2.right = node5; node3.left = node6; node3.right = node7; System.out.println("前序列递归"); priOrder(node1); System.out.println(); System.out.println("中序列递归"); inOrder(node1); System.out.println(); System.out.println("后序列递归"); posOrder(node1);} //前序列递归 public static void priOrder(Node head) { if (head == null) { return; } System.out.print(head.value+"\t"); priOrder(head.left); priOrder(head.right); } //中序列递归 public static void inOrder(Node head) { if (head == null) { return; } inOrder(head.left); System.out.print(head.value+"\t"); inOrder(head.right); } //后序列递归 public static void posOrder(Node head) { if (head == null) { return; } posOrder(head.left); posOrder(head.right); System.out.print(head.value+"\t"); }}
运行结果
前序列递归1245367中序列递归4251637后序列递归4526731
0 0
- 用递归和非递归方式实现二叉树先序、中序和后序遍历
- 用递归方式实现二叉树先序、中序、后序遍历
- 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(java实现)
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 二叉树先序,中序,后序遍历非递归实现
- 数据结构 分别用递归和非递归方法实现二叉树先序,中序,后序遍历
- 分别用递归和非递归方式实现二叉树的先序、中序和后序遍历
- Java实现-二叉树先序,中序,后序遍历及递归,非递归遍历
- 二叉树的遍历 前序 中序 后序 分别实现递归和非递归遍历方式
- 二叉树先序遍历,中序遍历和后序遍历的非递归实现
- 从递归的异同分析二叉树先序、中序、后序遍历共同流程并实现非递归方式的三种遍历。
- 二叉树非递归前、中、后序遍历实现
- 二叉树先序,中序,后序、层序遍历递归和非递归实现
- uva10375 选择与除法 唯一分解定理
- WebRTC学习笔记
- uva10304 Ordering-Tasks 拓扑排序
- 51Nod-1489-蜥蜴和地下室
- SparkMLlib---SGD随机梯度下降算法
- 用递归方式实现二叉树先序、中序、后序遍历
- Volley 的基本使用
- 文章标题
- Android Studio引用第三方jar包及开源library的方法
- 多线程编程入门(16):线程同步工具之CyclicBarrier
- uva10129 欧拉回路 判断出入度数 连通性 遍历压栈
- 【LEETCODE】368- Largest Divisible Subset [Python]
- uva10003 切木棍 线性区间dp
- uva1626 括号序列