二叉排序树(BST)

  • 二叉排序树的定义
  • 查找操作
  • 插入操作
  • 删除操作
  • 查找效率分析——平均查找长度ASL
  • 平衡二叉树(二叉排序树的引申概念)

二叉排序树的定义

二叉排序树,又称二叉查找树BST,Binary Search Tree)

一棵二叉树或者是空二叉树,或者是具有如下性质的二叉树:

1、左子树上所有结点的关键字均小于根结点的关键字;

2、右子树上所有结点的关键字均大于根结点的关键字。

左子树与右子树各是一棵二叉排序树。

左子树结点值<根结点值<右子树结点值

如果对二叉排序树进行中序遍历,可以得到一个递增的有序序列。

 二叉排序树可以用于元素有序组织、搜索。


二叉排序树的查找

若树非空,目标值与根结点的值比较:

1、若相等,则查找成功;

2、若小于根结点,则在左子树上查找,否则在右子树上查找。

查找成功,返回结点指针;查找失败返回NULL。

 例1:查找关键字为30的结点。

从根结点出发,我们要找的值30>根结点19,根据排序树的特性,要找的结点一定在右子树中。

让指向根结点的指针,往根结点的右孩子方向走,指向50,30<50

让指向50的指针,往50的左孩子方向走,指向26,30>26

让指向26的指针,往26的右孩子方向走,指向30,找到结点。

//二叉
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值