您的位置:首页 > 其它

将有序数组转变成平衡二叉查找树

2017-01-28 21:40 363 查看
import java.util.*;

public class BinarySearchTreeTest {
private static LinkedList<Integer> list = null;
public static void convertToBst(LinkedList<Integer> s){
list = s;
TreeNode root = convertToBstHelp(0, list.size() -1);
BinaryTreeTest.preOrderTraverse(root);
}

public static TreeNode convertToBstHelp(int start, int end){
if (start > end)
return null;
int mid = (end + start)/2;
TreeNode root = new TreeNode(list.get(mid));
root.left = convertToBstHelp(start, mid -1);
root.right = convertToBstHelp(mid + 1, end);
return root;
}
public static void main(String[] args){
LinkedList<Integer> s = new LinkedList<Integer>();
for(int i = 0; i < 7; i++){
s.add(i);
}
for(int i : s)
System.out.println(i);
convertToBst(s);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐