java满二叉树的定义和遍历
满二叉树是指在树中每个节点的子节点数均为2,除了叶子节点外,每个节点都有两个子节点。
以下是Java中满二叉树的定义:
public class FullBinaryTree { public Node root; class Node { int value; Node left; Node right; public Node(int value) { this.value = value; } } }
满二叉树有三种遍历方式:前序遍历、中序遍历和后序遍历。
以下为Java中满二叉树的遍历实现:
public class FullBinaryTree { ... public void preorderTraversal(Node node) { if (node != null) { System.out.print(node.value + " "); preorderTraversal(node.left); preorderTraversal(node.right); } } public void inorderTraversal(Node node) { if (node != null) { inorderTraversal(node.left); System.out.print(node.value + " "); inorderTraversal(node.right); } } public void postorderTraversal(Node node) { if (node != null) { postorderTraversal(node.left); postorderTraversal(node.right); System.out.print(node.value + " "); } } }
前序遍历的顺序为根节点、左子树、右子树;中序遍历的顺序为左子树、根节点、右子树;后序遍历的顺序为左子树、右子树、根节点。