mysql中lsm树_数据结构-各种树的简单理解

数据结构-各种树的简单理解

理解:二叉树的查找的优化,也是利用了类似二分查找的思想,让查找的时间复杂度变成O(log2 n)

1. 树

N叉树浪费链接的存储空间,N越大浪费越严重

解决:N等于2时链接空间浪费率最低,于是有了二叉树

2. 二叉树

优点:链接空间浪费率达到最低。

缺点:无约束的二叉树是无序的,查找的时间复杂度为O(N),

解决:有了二叉搜索树BST(Binary Search Tree)(又称排序二叉树、有序二叉树、二叉查找树)

3. 二叉搜索树BST

优点:排序二叉树查询、删除和插入的平均时间复杂度都是O(log2 n)

缺点:但是随着节点的添加和删除,查询的时间复杂度在O(log2 n) 到O(n)之间,

也就是说极端情况可能成为链表结构,查询时间复杂度变成O(n)

解决:在添加和删除节点时要维持二叉树的平衡 -> 平衡二叉树(AVL树)、红黑树等

场景:实际使用不多

4. 平衡二叉树(AVL树)

优点:AVL树是高度平衡的二叉树,查找效率非常高,接近二分查找。

缺点:每次插入和删除都需要维护平衡,代价高,耗时大。

解决:不维持严格平衡,只保证近似平衡 -> 红黑树

场景:实际使用不多

5. 近似平衡的二叉树-红黑树

优点:性能稳定,插入、删除、查找的复杂度在最好、最坏的情况都是O(log2 n)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值