zoukankan      html  css  js  c++  java
  • Java创建二叉树

    版权声明:本文为博主原创文章,未经博主同意不得转载。

    https://blog.csdn.net/yeweiouyang/article/details/37814461

    二叉树的值保存在数组中,以0作为分隔,数字0表示空节点,数组

    public static final int[] TREE_VALUE = new int[]{1,2,3,0,4,5,0,0,6,0,0,7,0,0,8,0,9,10,0,0,0};
    表示的二叉树是:


    /**
     * 维护构建二叉树的值和值索引
     */
    public static class TreeValue {
    	public static int index = 0;
    	public static final int[] TREE_VALUE = new int[]{1,2,3,0,4,5,0,0,6,0,0,7,0,0,8,0,9,10,0,0,0};
    }
    
    /**
     * Create A Binary Tree with TreeValue
     * 
     * @node: a tree node
     * @i: the index of tree value
     */
    public static TreeNode createTree(TreeNode node, int i) {
    	if (0 == TreeValue.TREE_VALUE[i]) {
    		return null;
    	} else {
    		node.setVal(TreeValue.TREE_VALUE[i]);
    	}
    	
    	TreeNode leftChild = new TreeNode();
    	node.left = createTree(leftChild, ++TreeValue.index);
    	TreeNode rightChild = new TreeNode();
    	node.right = createTree(rightChild, ++TreeValue.index);
    
    	return node;
    }
    
    /**
     * Definition for binary tree
     */
    public static class TreeNode {
    	int val;
    	TreeNode left;
    	TreeNode right;
    	
    	TreeNode() {
    		left = null;
    		right = null;
    	}
    	TreeNode(int val) {
    		this.val = val;
    		left = null;
    		right = null;
    	}
    	
    	public void setVal(int val) {
    		this.val = val;
    	}
    }
    
    public static void main(String[] args) {
    	TreeNode root = new TreeNode();
    	root = createTree(root, index);
    }


查看全文
  • 相关阅读:
    ArcGIS
    gdal 在 vs2005中的安装
    ArcView ArcEditor ArcInfo区别
    从自行车掉链想到的
    实现带有身份验证的WebService
    研究一下全文索引
    【转】Com和.Net互操作规范
    TDSSNIClient 初始化失败,出现错误 0x7e,状态代码 0x60。
    整理最近新学到的几种sql写法(一)动态“循环”更新表内数据
    整理多个技术点的sql综合应用:(开拓思路,SELECT子句内嵌子查询)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10951028.html
  • Copyright © 2011-2022 走看看