用Java实现二叉树前序遍历、中序遍历和后序遍历。
2016-10-23 10:20
316 查看
public class BinaryTree { private Node root; /** * * 内部节点类 * * @author yhh */ private class Node { private Node left; private Node right; private int data; public Node(int data) { this.left = null; this.right = null; this.data = data; } } public BinaryTree() { root = null; } /** * 递归创建二叉树 * * @param node * @param data */ public void buildTree(Node node, int data) { if (root == null) { root = new Node(data); } else { if (data < node.data) { if (node.left == null) { node.left = new Node(data); } else { buildTree(node.left, data); } } else { if (node.right == null) { node.right = new Node(data); } else { buildTree(node.right, data); } } } } /** * 前序遍历 * * @param node */ public void leftOrder(Node node) { if (node != null) { System.out.print(node.data + " "); leftOrder(node.left); leftOrder(node.right); } } /** * 中序遍历 * * @param node */ public void middleOrder(Node node) { if (node != null) { middleOrder(node.left); System.out.print(node.data + " "); middleOrder(node.right); } } /** * 后序遍历 * * @param node */ public void rightOrder(Node node) { if (node != null) { rightOrder(node.left); rightOrder(node.right); System.out.print(node.data + " "); } } public static void main(String[] args) { int[] a = { 12, 43, 12, 45, 2, 9, 11 }; BinaryTree bTree = new BinaryTree(); for (int i = 0; i < a.length; i++) { bTree.buildTree(bTree.root, a[i]); } System.out.print("\n前序遍历 : "); bTree.leftOrder(bTree.root); System.out.print("\n中 序遍历 : "); bTree.middleOrder(bTree.root); System.out.print("\n后 序遍历 : "); bTree.rightOrder(bTree.root); } }
相关文章推荐
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
- java实现二叉树的先序遍历,中序遍历,后序遍历
- java实现根据前序遍历构建二叉树(前序遍历、中序遍历、后序遍历)
- 已知二叉树前序,中序遍历,求后序遍历,java实现
- 算法:二叉树的先序遍历、中序遍历、后序遍历(递归及非递归方式)的java代码实现
- 二叉树 Java 实现 前序遍历 中序遍历 后序遍历 层级遍历 获取叶节点 宽度 ,高度,队列实现二叉树遍历 求二叉树的最大距离
- 数据结构之中序遍历转后续遍历(JAVA实现)(二)
- 二叉树的前序、中序、后序(递归、非递归)遍历java实现
- java 实现二叉树深度优先遍历的 前、中、后序遍历(递归)
- 面试题 二叉树的前序遍历,中序遍历,后序遍历(递归实现)