package com.xtm.tree; import java.util.LinkedList; public class Main { /** * Tree: * 1 * 2 3 * 4 5 6 7 * 8 9 * */ public static void main(String[] args) { //build tree int[] array = {1,2,3,4,5,6,7,8,9}; int len = array.length; LinkedList<TreeNode> linkedList = new LinkedList<TreeNode>(); for(int i=0;i<len;i++){ linkedList.add(new TreeNode(array[i])); } for(int i=0;i<len/2-1;i++){ linkedList.get(i).left=linkedList.get(i*2+1); linkedList.get(i).right=linkedList.get(i*2+2); } int lastIndex = len/2-1; linkedList.get(lastIndex).left=linkedList .get(lastIndex*2+1); if(len%2==1){ linkedList.get(lastIndex).right=linkedList .get(lastIndex*2+2); } //traverse the tree printTreeNode(linkedList.get(0)); } private static void printTreeNode(TreeNode root) { if(root == null){ return ; } //System.out.print(root.value+"\t");//Pre-order traversal: first parent, then left child, right child output: 1 2 4 8 9 5 3 6 7 printTreeNode(root.left); //System.out.print(root.value+"\t");//Inorder traversal: first left child, then parent and then right child Output: 8 4 9 2 5 1 6 3 7 printTreeNode(root.right); System.out.print(root.value+"\t");//Post-order traversal, first left and right child and then parent output: 8 9 4 5 2 6 7 3 1 } } class TreeNode{ TreeNode left ; TreeNode right ; int value ; public TreeNode() { } public TreeNode(int value) { this.value = value; } }
Java implements a simple binary tree
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=325894663&siteId=291194637
Ranking