数据结构与算法--二叉搜索树
程序员文章站
2024-03-16 15:34:22
...
二叉搜索树
如果左子树不为空,则左子树所有节点的值都小于根节点的值。
如果右子树不为空,则右子树所有节点的值都大于等于根节点的值。
任意一颗子树也是二叉搜索树
二叉搜索树的建立
// 二叉搜索树的建立
public TreeNode insert(TreeNode root,int value){
// 如果根节点为空,则元素为根节点
if(root == null){
return new TreeNode(value);
}else if(value<root.val){ // 元素小于根节点值 插入左子树
root.left=insert(root.left,value);
}else{
// 如果元素大于根节点值,插入右子树
root.right=insert(root.right,value);
}
return root;
}
测试代码:
public static void main(String[] args) {
int[] s = {9,2,5,8,2,10};
// 9作为根节点 构造一个二叉搜索树
TreeNode ss = new Test().new TreeNode(9);
for (int i = 1; i < s.length; i++) {
TreeNode insert = new Test().insert(ss,s[i]);
ss=insert;
}
System.out.println(ss);
}
上一篇: 1-100之间的奇数
下一篇: 算法时间复杂度简介(一)