登录
|
注册
公司
标签
文章
搜索
经典指数
微软
树
数组
类别
公司
职位
年份
其他
添加
原因
删除
2096
浏览数
0
收藏数
怎样编写一个程序,把一个有序整数数组放到二叉树中?
还没有评论
分享到:
举报
纠错
0
/
512字
选择纠错区域
题目内容有错
题目标签有错
提交纠错
切换
提交评论
请先
登录
后评论.
1 个答案
0
0
典型的二插搜索树创建过程 二插搜索树:它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 插入过程: 向一个二叉排序树中插入一个结点的算法,过程为:若是空树,则将结点作为根结点插入,否则:若节点的值等于根结点的数值,则返回,否则:若节点值小于根结点的数值,则把结点插入到左子树中,否则:把结点插入到右子树中。 public class TreeNode { int val; TreeNode left; TreeNode right; public TreeNode(int _val,TreeNode _left,TreeNode _right) { this.val=_val; this.left=_left; this.right=_right; } } public class SortArrToBinaryTree { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SortArrToBinaryTree sortArrToBinaryTree = new SortArrToBinaryTree(); int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; TreeNode root = null; for (int i : arr) { root=sortArrToBinaryTree.insertNode(root, i); } } TreeNode insertNode(TreeNode root, int val) { if (root == null) return new TreeNode(val, null, null); if (val < root.val) root.left = insertNode(root.left, val); else if (val > root.val) root.right = insertNode(root.right, val); return root; } }
还没有评论
举报
切换
提交评论
请先
登录
后评论.
撰写答案
提交回答
通往牛逼的路上,请先登录!
扫描后移动端查看本题
我也分享一个题目
相关题目
请设计一个高效算法,查找数组中未出现的最小正整数。 给定一个整数 ...
一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前 ...
有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间 ...
给定一个整数的数组,相邻的数不能同时选,求从该数组选取若干整数, ...
数组乘积 输入:一个长度为n的整数数组input 输出:一个长度 ...
有一个排过序的数组,包含n个整数,但是这个数组向左进行了一定长度 ...
请设计一个高效算法,找出数组中两数之和为指定值的所有整数对。 给 ...
一个含n个元素的整数数组至少存在一个重复数,请编程实现,在O(n ...
对于一个有正有负的整数数组,请找出总和最大的连续数列。 给定一个 ...
对于一个无序数组,数组中元素为互不相同的整数,请返回其中最小的k ...
×
登录
注册
找回密码
记住登录
登录
快速注册
直接第三方登录
×
保存答案