二叉搜索树(BST)

二叉搜索树是一种特殊二叉树,左子节点小于根节点,右子节点大于根节点。平衡树要求左右子树高度差不超过1。完全树与完美平衡树的概念被提及,后者具有相同高度的子树。BST结合链表和有序数组的优点,高度影响检索效率,保持树矮小以提高性能。插入顺序会影响树的形状,但平衡策略如B-tree可避免不平衡问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C4.1 二叉搜索树(BST)
    二叉树(BT)最多两个孩子节点
    二叉搜索树(BST), 满足: 左边的孩子节点小于自己, 右边的节点大于自己
    
    平衡树, 左右子树的高度, 最多相差1, 左右子树是平衡的
    一个完整的树: 一个树的高度是h, 如果它的叶子节点的高度是h 或者h-1,那它就是完整的树.
    完美的平衡树: 所有节点的 左边子树和右边子树的高度是一样的
    完美平衡树也是完整的
    
    BST 是一个递归的结构. 或是一个空树, 或是一个节点, 它有key, 有左子树和右子树. 
    
    递归的特性让BST可以使用递归的算法
    BST结合了链表插的灵活 和 有序数组检索的效率. 它需要检索的节点只和它的高度有关.
    
    所以树越矮, 效率越高.
    
    log(n)是最矮 可能的高度.
    
    BST 每下降一级, 节点数量翻倍
    完整树, 总共的节点 2h+1 -1
    为保持较低的高度, 要尽量填满树
    
    BST, 同样的数据集, 如果插入的顺序不同, 树的形状可能完全不同
    213 和 231 树的形状是一样的
    大量的插入后, 不太可能出现跛脚的树
    有各种方案让BST保持平衡, 比如 b-tree

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值