我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2n,其各操作的时间复杂度(O(log2n))同时也由此而决定。但是,在某些极端的情况下(如在插入的序列是有序的时),二叉搜索树将退化成近似链或链,此时,其操作的时间复杂度将退化成线性的,即O(n)。我们可以通过随机化建立二叉搜索树来尽量的避免这种情况,但是在进行了多次的操作之后,由于在删除时,我们总是选择将待删除节点的后继代替它本身,这样就会造成总是右边的节点数目减少,以至于树向左偏沉。这同时也会造成树的平衡性受到破坏,提高它的操作的时间复杂度。
平衡二叉搜索树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。常用算法有红黑树、AVL、Treap、伸展树等。在平衡二叉搜索树中,我们可以看到,其高度一般都良好地维持在O(log2n),大大降低了操作的时间复杂度。
BST Binary Search Tree~

二叉搜索树Binary Search Tree),或者是一棵空树,或者是具有下列性质的二叉树:

  1. 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
  2. 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
  3. 它的左、右子树也分别为二叉搜索树。

二叉搜索树的查找过程和次优二叉树类似,通常采取二叉链表作为二叉搜索序树的存储结构。中序遍历二叉搜索树可得到一个关键字的有序序列,一个无序序列可以通过构造一棵二叉搜索树变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。每次插入的新的结点都是二叉搜索树上新的叶子结点,在进行插入操作时,不必移动其它结点,只需改动某个结点的指针,由空变为非空即可。搜索,插入,删除的复杂度等于树高,O(log(n)).

转载于:https://www.cnblogs.com/Xiegg/p/3621531.html

关于树,各种平衡树查找树的资料合集~~相关推荐

  1. 前缀树(字典树,单词查找树,Trie树)

    参考网址:https://blog.csdn.net/u013949069/article/details/78056102?utm_source=copy 概述 前缀树又名字典树,单词查找树,Tri ...

  2. java工具:字典树(单词查找树/Trie树)的实现以及使用

    项目地址 https://github.com/kylin-hunter/k-dic 文章目录 项目地址 前言 一.字典树 二.使用步骤 1 引入库 1.1 编译并发布到本地 1.2 gradle ( ...

  3. 字典树(单词查找树)详解

    文章目录 前言 什么是字典树 性质 代码详解 属性 & 构造器 insert 插入 searchPrefix 搜索前缀 完整代码: 前言 当你在搜索条输入字符时,搜索引擎会根据你所输入的字符进 ...

  4. MTK5G芯片大全-MTK5G芯片资料合集-5G芯片资料下载

    最近很多人都在找5G芯片资料,为了方便大家寻找资料,今天给大家整合一下MTK5G芯片的资料,希望对大家有所帮助! MTK5G芯片大全-MTK5G芯片资料合集-5G芯片资料下载 天玑700:http:/ ...

  5. 自动驾驶资料合集:视频、书籍与开源项目

    来源丨深蓝学院 这是2021最新的自动驾驶资料合集,对于正在学习或者计划入门自动驾驶领域的同学来说,相信会有很大帮助. 课程及公开视频 一.无人驾驶综合 1. 百度与Udacity合作免费课程 课程链 ...

  6. Web测试到底是在测什么(资料合集)

    http://www.cnblogs.com/idotest/p/6838583.html 图片略模糊 看得清就好 Web测试, 进行抽离拆分,基本上就如上一些内容. 不管是测什么系统,什么功能,基本 ...

  7. 德哥的PostgreSQL私房菜 - 史上最屌PG资料合集

    德哥的PostgreSQL私房菜 - 史上最屌PG资料合集 转载于:https://www.cnblogs.com/zhehan54/p/9146964.html

  8. 电商客服售前售后话术培训资料合集(共150份)

    合集名称:电商客服售前售后话术培训资料合集 数量:150份 具体内容: 合集資料下载链接:电商客服售前售后话术培训资料(共150份).zip-数据集文档类资源-CSDN下载 1.电商客服_话术技巧 0 ...

  9. 2019互联网行业面试资料合集

    2019互联网行业面试资料合集 有需要关注公众号:学霸搜罗

  10. PYNQ(ZYNQ)入门资料合集1

    PYNQ_ZYNQ入门资料合集1 0.说在前面的话 1.PYNQ的官网 Community页面 Boards页面 [Getting Started页面](https://pynq.readthedoc ...

最新文章

  1. android relativelayout 点击事件,Android Relativelayout点击背景行为
  2. jq实现文字个数限制_分布式系统高可用实战之限流器(Go 版本实现)
  3. 关于java的JIT知识
  4. 登录页面html代码_【网络自动化平台开发】—— 登录组件
  5. mysql级联_MySQL 级联复制(A-B-C)
  6. 洛谷 P2040 打开所有的灯-dfs
  7. ehcache 默认大小_简单的使用ehcache
  8. npm 包管理器_导演电影解释了节点软件包管理器(NPM)
  9. Mac 上管理多个 java 版本
  10. 刘晓攀:连滚带爬看完《你的知识需要管理》
  11. oracle游标作为out参数,oracle 存储过程 带游标作为OUT参数输出
  12. C/C++编程笔记:浪漫流星雨表白程序,七夕想表白,我教你啊!
  13. 除了PMP,项目经理还要考哪些证书?
  14. python操作excel表格【自定义表格样式基础】
  15. 基于微信小程序云开发(校园许愿墙app)2.0稳定版,以发布上线
  16. 色温,色阶,色调,色调
  17. perl dbi mysql 参数_perl dbi mysql-值精度 -问答-阿里云开发者社区-阿里云
  18. Spring Cloud之微服务概述
  19. matlab神经网络newff函数的用法
  20. 猿创征文|『编程与创作』10款颜值颇高的宝藏工具

热门文章

  1. 多生产者多消费者问题
  2. sqlservcer行列互转
  3. 我的2015学习总结及2016的技术规划(2016.02)
  4. EF optimize the perfermance
  5. 体验产品一 | 悦动圈VS咕咚竞品分析报告
  6. Windows Mobile中实现统计图形的绘制(C#版,柱状图)
  7. 使用 Sphinx 撰写技术文档并生成 PDF 总结
  8. (十四)struts2的国际化
  9. DE标识DellUtility磁盘手动创建
  10. 数据浪潮上的IP雄鹰