首页 > 其他分享 >图解平衡二叉树

图解平衡二叉树

时间:2024-08-02 09:50:49浏览次数:9  
标签:最坏 二叉 二叉树 key 平衡 图解 节点

平衡二叉树

平衡二叉树的背景

由于一些众所周知的原因, 我们选择了平衡二叉树, 好吧, 其实就是因为对二叉搜索树的限制太少了, 导致在一些特殊的情况下, 二叉搜索树不太听话, 查找, 插入与删除的时间均变成了 \(O(n)\) 也可以认为, 熵增就会更加有序, 熵减就会更加自由, 这里我们追求的是有序的查找, 但是啊, 年轻人, 为了自由而战吧.

平衡二叉树的定义

  1. 平衡二叉树首先满足二叉搜索树的特征: 对于任何一颗子树的根结点而言, 它的左子树任何节点的key一定比root小, 而右子树任何节点的key 一定比root大.
  2. 对于AVL树而言, 其中任何子树仍然是AVL树;
  3. 每个节点的左右子节点的高度之差的绝对值最多为1(平衡特性);

显然, 由于上述第三点的限制, 很容易计算出它的查找时间为 \(O(log\ n)\). 它的最坏的情况也很容易计算与模拟, 最坏的情况如下:
假设树的高度为 \(h\), 节点的个数为 \(n\), 平衡二叉树最坏的情况如下, 我们再补充 \(n\) 个节点, 将这棵树变成一个满二叉树, 那么.

\[ 2^{h+1} = 2n \\ 2^h = n \\ h = log \ n \]

标签:最坏,二叉,二叉树,key,平衡,图解,节点
From: https://www.cnblogs.com/wevolf/p/18338069

相关文章

  • DAY 15 二叉树part03
      110.平衡二叉树(优先掌握递归)题目链接/文章讲解/视频讲解:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html 独立完成,感觉还比较好理解12classSolution{13public:14boolisBalanced(TreeNode*root){15if(......
  • 数据结构----树,二叉树,哈夫曼树相关概念及其实现
    树形结构概述1分层逻辑结构所谓的分层逻辑结构,也称为树形逻辑结构关系,是数据结构中的一种逻辑关系结构,在该逻辑结构关系中的数据元素之间满足一对多的逻辑结构关系:起始数据节点有且仅有一个,没有直接前驱,可以有多个直接后继;末尾数据节点可以多个,有且仅有一个直接前驱,......
  • 初学者友好!从零到一快速上手PyCharm安装的超详细图解+避坑指南教程
    一,pycharm的官网下载下载地址:www.jetbrains.com/pycharm/本文将从Python解释器安装到Pycharm专业版安装和配置汉化等使用都进行了详细介绍,希望能够帮助到大家。Python解释器&Pycharm安装包&Pycharm破姐插件我都打包好了。 ......
  • 【大厂笔试】翻转、平衡、对称二叉树,最大深度、判断两棵树是否相等、另一棵树的子树
    检查两棵树是否相同100.相同的树-力扣(LeetCode)思路解透两个根节点一个为空一个不为空的话,这两棵树就一定不一样了若两个跟节点都为空,则这两棵树一样当两个节点都不为空时:若两个根节点的值不相同,则这两棵树不一样若两个跟节点的值相同,则对左右两棵子树进行递归......
  • 代码随想录day16 || 513 树左下角值,112 路径之和,116 中序后序遍历构造二叉树
    切片传递问题question:什么情况下传递切片,什么情况下传递切片指针,为什么有时候会修改原始副本,有时候又不会呢?typesli[]intfuncmain(){ slice:=[]int{1} fmt.Printf("slice:%p\n",slice) change1(slice) fmt.Println("=================================") s2:=......
  • Day16 二叉树Part4 常规递归和遍历法的综合应用(二叉树相关)
    目录任务112.路径总和思路113.路径总和II思路106.从中序与后序遍历序列构造二叉树思路105.从前序与中序遍历序列构造二叉树思路心得体会任务112.路径总和给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路......
  • 申请美区 Apple ID 完整步骤图解,轻松免费创建账户
    苹果手机在下载一些软件时需要我们登录其AppleID才能下载,但是由于一些限制国内的AppleID在AppStore中有一些限制不能下载某些软件,如何解决这个问题?那就是申请一个美区AppleID,怎么申请国外苹果账户呢?下面就为大家展示具体的操作步骤。申请国外AppleID想要申请国......
  • Day15 二叉树Part2 初见回溯(二叉树相关)
    任务110.平衡二叉树给定一个二叉树,判断它是否是平衡二叉树思路典型的树形DP,每个节点向它的左右孩子收集信息,然后利用收集到的信息判断当前节点,最后再将信息传给上层。对于本题,每个节点要判断以自己为根的树是否是平衡二叉树,需要判断3个条件:自己的左子树是否平衡自己的右子......
  • 多目标规划:在复杂决策中寻找平衡
    文章目录多目标规划简介多目标规划的方法线性多目标规划问题基本形式求解方法多目标规划的实际应用结论在现实世界的决策过程中,我们常常面临多个相互冲突的目标,需要同时考虑和优化。多目标规划作为一种强大的优化工具,帮助我们在这些复杂的决策环境中寻找最佳解决方......
  • 平衡树乱讲
    平衡树这里讲非旋Treap,FHQTreap概述FHQTreap的思想基于分裂和合并。存储的信息是:\(ls\)和\(rs\)左右儿子。\(val\)权值\(siz\)子树大小。对于Treap比较独特的是\(rd\),实际上是一个随机优先级。对于相同权值的不同的点,不会记录成一个点,故没有记录次数的\(cnt\)......