平衡二叉树

xiaoxiao2022-06-11  31

//今天2018壬戌月 戊子日 晴转多云 心情无明显起伏 . 对于二叉排序树的缺点我们应该知道就是当某些节点的插入会使得树的左右子树高度相差过大,即整体树高变高,查找性能变低 那么如何优化,AVL树(源于发明者的名字)。之前对于其左旋右旋一知半解,现在想记录一下自己现在的想法: 首先应该明白左旋右旋的基本操作。左旋:旋转节点的右子树不变,左子树变为根节点的右子树。右旋:旋转节点 的左子树不变,右子树变为根节点的左子树。那么究竟在什么情况下进行左旋或者右旋甚至二者一起来完成平衡操作呢? LL:如果二叉排序树由于根节点的左子树的左子树使得根节点平衡因子失衡,进行LL即右下旋转。 RR:如果二叉排序树由于根节点的右子树的右子树使得根节点平衡因子失衡,进行RR即左下旋转。 LR:如果二叉排序树由于根节点的左子树的右子树使得根节点平衡因子失衡,进行LR即先左旋转后右旋转。 RL:如果二叉排序树由于根节点的右子树的左子树使得根节点平衡因子失衡,进行RL即先右旋旋转后左旋转。 这样在概念上理解二叉排序树和平衡二叉树就十分容易了!

转载请注明原文地址: https://www.6miu.com/read-4931599.html

最新回复(0)