2024考研计算机408
链接:https://pan.baidu.com/s/152XLyH64TlcLXwmU-zlAsQ?pwd=r7zf
提取码:r7zf
接下来,我们总结一下平衡二叉树的旋转技巧。在四零八考试中,平衡二叉树基本没有可能考察代码。所以我们对于旋转的掌握,只需要学会做题即可。平衡二叉树的旋转有多种方式,但是我们可以通过一些技巧来理解它。这样可以减轻我们的记忆负担。好,首先看一下平衡二叉树旋转的时机。当插入和删除之后,这棵树有可能已经不平衡。所以这个时候我们就要对它进行一次旋转。然后接下来分为三步。
第一步,从插入或删除的位置,从下往上找,找到最小不平衡指数,我们要处理的就是这棵最小不平衡指数。接下来,从最小不平衡指数中找到了三个最重要的节点,然后把它们安排好,其他的节点先不考虑。将最小不平衡指数中剩下的结点也放到它,最终需要放的位置去。来看一下,首先什么是不平衡呢?不平衡的定义就是,这棵树中有某个结点的平衡因子,
绝对值大于一。比如说它是二或者负二。这样的话,就意味着这棵树已经不平衡了。那我们接下来就需要对它进行旋转操作,首先找到插入的节点或者删除的节点。然后从它开始一直往根找。有这样一个路径。看一下哪个结点?从这个路径上找到第一个平衡因子,绝对值大于一的结点。那是不是就是这个结点,它的平衡因子应该是负二是大于一的,所以以它为根的子数就是最小不平衡子数。我们就找到了对应的最小不平衡指数。
接下来,在这个最小不平衡指数中,我们选择三个最重要的结点,我把它叫做学霸结点。我们先处理这三个节点,剩下的这些节点,我把它叫做学渣节点,只有学霸写完了作业,学渣才有的抄,所以我们先处理学霸,再处理学渣。首先找到根根是这个,他是一个学霸级别,然后再找到他的儿子。那找左儿子还是右儿子呢?
我们看一下他的左儿子和右儿子谁更高?是不是右边更高?那就找到右儿子。当然,你也可以通过平衡因子来看,也是一样的,它的平衡因子为负,所以应该找右边,如果为正就找左边。然后找到他的儿子之后,再从他的儿子十找到十的儿子,十的儿子也像刚刚一样。谁比较高就选谁。这里是八比较高,所以这里选八。
也可以通过平衡因子,它的平衡因子为一,所以也应该找
9854



被折叠的 条评论
为什么被折叠?



