当前位置: 首页 > news >正文

深圳市住房和城乡和建设局网站深圳龙华昨天死人新闻

深圳市住房和城乡和建设局网站,深圳龙华昨天死人新闻,佛山网站制作哪家便宜,网站开发专业分数线问题引入 二叉查找树在频繁的动态更新过程中#xff0c;可能会出现树的高度远大于 log2n 的情况#xff0c;从而导致各个操作的效率下降。极端情况下#xff0c;二叉树会退化为链表#xff0c;时间复杂度会退化到 O(n)。要解决这个复杂度退化的问题#xff0c;需要设计一…问题引入 二叉查找树在频繁的动态更新过程中可能会出现树的高度远大于 log2n 的情况从而导致各个操作的效率下降。极端情况下二叉树会退化为链表时间复杂度会退化到 O(n)。要解决这个复杂度退化的问题需要设计一种平衡二叉查找树。在工程中很多用到平衡二叉查找树的地方都会用红黑树。为什么工程中都喜欢用红黑树而不是其他平衡二叉查找树呢 什么是“平衡二叉查找树” 平衡二叉树的严格定义是这样的二叉树中任意一个节点的左右子树的高度相差不能大于 1。从这个定义来看上一节我们讲的完全二叉树、满二叉树其实都是平衡二叉树但是非完全二叉树也有可能是平衡二叉树。 平衡二叉查找树不仅满足上面平衡二叉树的定义还满足二叉查找树的特点。最先被发明的平衡二叉查找树是AVL 树它严格符合我刚讲到的平衡二叉查找树的定义即任何节点的左右子树高度相差不超过 1是一种高度平衡的二叉查找树。 很多平衡二叉查找树其实并没有严格符合上面的定义树中任意一个节点的左右子树的高度相差不能大于 1比如红黑树它从根节点到各个叶子节点的最长路径有可能会比最短路径大一倍。 学习数据结构和算法是为了应用到实际的开发中的没必要去死抠定义。对于平衡二叉查找树这个概念要从这个数据结构的由来去理解“平衡”的意思。发明平衡二叉查找树这类数据结构的初衷是解决普通二叉查找树在频繁的插入、删除等动态更新的情况下出现时间复杂度退化的问题。所以平衡二叉查找树中“平衡”的意思其实就是让整棵树左右看起来比较“对称”、比较“平衡”不要出现左子树很高、右子树很矮的情况。整棵树的高度相对来说低一些相应的插入、删除、查找等操作的效率高一些。 如何定义一棵“红黑树” 红黑树的英文是“Red-Black Tree”简称 R-B Tree。它是一种不严格的平衡二叉查找树。红黑树中的节点一类被标记为黑色一类被标记为红色。除此之外一棵红黑树还需要满足这样几个要求 根节点是黑色的每个叶子节点都是黑色的空节点NIL也就是说叶子节点不存储数据任何相邻的节点都不能同时为红色也就是说红色节点是被黑色节点隔开的每个节点从该节点到达其可达叶子节点的所有路径都包含相同数目的黑色节点 这里的第二点要求“叶子节点都是黑色的空节点”稍微有些奇怪它主要是为了简化红黑树的代码实现而设置的下一节我们讲红黑树的实现的时候会讲到。这节我们暂时不考虑这一点所以在画图和讲解的时候我将黑色的、空的叶子节点都省略掉了。 为什么说红黑树是“近似平衡”的 平衡二叉查找树的初衷是为了解决二叉查找树因为动态更新导致的性能退化问题。所以“平衡”的意思可以等价为性能不退化。“近似平衡”就等价为性能不会退化得太严重。 解答开篇 AVL 树是一种高度平衡的二叉树所以查找的效率非常高但是有利就有弊AVL 树为了维持这种高度的平衡就要付出更多的代价。每次插入、删除都要做调整就比较复杂、耗时。所以对于有频繁的插入、删除操作的数据集合使用 AVL 树的代价就有点高了。 红黑树只是做到了近似平衡并不是严格的平衡所以在维护平衡的成本上要比 AVL 树要低。所以红黑树的插入、删除、查找各种操作性能都比较稳定。对于工程应用来说要面对各种异常情况为了支撑这种工业级的应用我们更倾向于这种性能稳定的平衡二叉查找树。 关于红黑树究竟需要掌握哪些东西 观点学习数据结构和算法要学习它的由来、特性、适用的场景以及它能解决的问题。对于红黑树也不例外。重点掌握下面几个关键点 红黑树是一种平衡二叉查找树。它是为了解决普通二叉查找树在数据更新的过程中复杂度退化的问题而产生的。红黑树的高度近似 log2n所以它是近似平衡插入、删除、查找操作的时间复杂度都是 O(logn)。因为红黑树是一种性能非常稳定的二叉查找树在工程中但凡是用到动态插入、删除、查找数据的场景都可以它实现起来比较复杂如果自己写代码实现难度会有些高这个时候其实更倾向用跳表来替代它
http://www.huolong8.cn/news/42402/

相关文章:

  • 广州注册公司需要多少钱郑州seo外包顾问热狗
  • 长春网站设计团队建设企业网站平台主要的目的是
  • 网站建设怎么入会计账wordpress英文版安装教程
  • 厦门网站建设xm37当下 如何做网站赚钱
  • 网站设计的公司概况简介动漫制作专业名人作品展示
  • 济宁企业做网站专业放心关键词优化参考价格
  • 网站开发中安全性的防范wordpress注册系统
  • 广西柳州网站建设品牌建设可以从哪方面入手
  • 通州网站开发怎么在自己的电脑做网站
  • 大型的营销型网站小工程承包app
  • 做一个网站需要花费多少钱1688手工活外发加工网
  • 18款禁止未成年软件app抖音关键词优化排名
  • 如何做好网站关键词布局做网站实现登陆功能
  • 网站建设公司湘潭四川建设网四川住建厅
  • 自己做网站赚流量钱做兼职在线抠图网站
  • 建设网站如何给页面命名在线图片加文字
  • 备案 个人网站集美网站建设
  • 常州企业自助建站系统广东事业单位网站
  • 网站设计公司排名前十wordpress 多重
  • 华夏润达建设有限公司网站无需注册免费的网站
  • 招远网站建设哪家专业全国企业公示信息公示网官网
  • 晋州住房保障建设局网站盐城网站建设哪家快
  • 深圳做外贸网站如何制作一个简单的网页
  • 大气手机网站模板免费下载如何用网站做招聘
  • 深圳做app网站公司百度推广客户端app
  • 钉钉企业主页长沙好的网站优化品牌
  • 做医疗设备的网站如何推广自己的业务
  • 定制开发电商网站建设多少钱网站建设公司 腾佳
  • 国外网站能否做百科参考资料wordpress文章时间
  • 完整企业网站模板自己做网站步骤 域名