数据结构学习——二分搜索树(1)

       二分搜索树(Binary search tree):满足任何节点的键值大于等于该节点左子树中的所有键值,小于等于该节点右子树中的所有键值的树。(如下图)


        (使用Java实现二分搜索树,由于该数据结构的特点所以要求存入的元素必须可以比较,这里通过继承Comparable类来实现)


     二分搜索树是一种二叉树,而二叉树天生就具有递归性所以一下代码都用递归的方式。

    一、添加操作(add)

    方法1:

(public方法供外界调用)


(私有递归算法供本身调用)



    方法2:算法思想和方法1不同,方法2 是返回插入的新节点后的二分搜索树的根节点


例如要插入 {5,3,4,6,8,2} 这几个数字

首先插入5  root = 5  => 然后插入3 root =>3 以此类推再进过比较最后得到

                                5
                              /   \
                            3      6 
                           / \       \  
                         2    4       8


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值