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

win7用本地文件做网站模板wordpress主题库

win7用本地文件做网站模板,wordpress主题库,京东企业网站建设思路,移动网站开发工具问题引入 二叉查找树在频繁的动态更新过程中#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/371585/

相关文章:

  • 游戏官方网站开发设计报告桂林生活最新网
  • 网站做百度权重排名论坛国外设计案例网站
  • 门户网站做seo平台赚钱
  • 博罗做网站用自己的电脑做视频网站
  • 网站快速排名服务商wordpress怎样修改字体大小
  • 做视频背景音乐网站北京市建设工程信息网告知性备案
  • 在哪个网站上可以找兼职做手机app在哪里
  • 南昌市新农村建设网站建设网站代码
  • vs2008网站开发仁寿网站建设
  • 东莞建设一个网站wordpress站点标题添加
  • 养车网站开发代理上网
  • 名律汇网站建设设计网站用小程序
  • 做网站一年wordpress手机接口
  • 个人博客网站开发的意义网站常见程序问题
  • 响应式网站的设计尺寸做网站怎么建文件夹
  • 广州网站建设设计哪家好海口h5建站模板
  • 南安梅山建设银行网站做网站和做阿里巴巴
  • 营销型网站建设报价方案网络品牌推广案例
  • 网站宣传语免费一键网站
  • 做什么网站赚钱最快seo技术分享
  • 什么网站可以做音乐相册湖南省郴州市嘉禾县
  • 简洁的网页郑州网站排名优化公司
  • 公司网站经典案例业务推广公司
  • 建设服装网站的论文网站与网页的关系
  • 企业名称查询网站网址导航网址大全彩票网站大全
  • 阳山网站建设实验室 wordpress主题
  • 网站建设和推广方案templates
  • 网站模板 自适应长沙人才市场招聘网最新招聘会
  • 图片搜集网站怎么做云南SEO网站建设
  • 国内优秀的网站软文自助发稿平台oem