平衡二叉树中需要旋转的情况
2017-04-22 00:00
162 查看
摘要: 看了几本算法书,感觉都没有说到痛快的感觉。上网google,发现了很多好的文章解说,这回总算可以过这个坎了。google大法好!
这几种图和书中所讲的那种很明显的“左左”“右右”举例情况不同,这里面这几种都是很容易误判的情形。
1、6节点的左子树3节点高度比右子树7节点大2,左子树3节点的左子树1节点高度大于右子树4节点,这种情况成为左左。
2、6节点的左子树2节点高度比右子树7节点大2,左子树2节点的左子树1节点高度小于右子树4节点,这种情况成为左右。
3、2节点的左子树1节点高度比右子树5节点小2,右子树5节点的左子树3节点高度大于右子树6节点,这种情况成为右左。
4、2节点的左子树1节点高度比右子树4节点小2,右子树4节点的左子树3节点高度小于右子树6节点,这种情况成为右右。
这几种图和书中所讲的那种很明显的“左左”“右右”举例情况不同,这里面这几种都是很容易误判的情形。
1、6节点的左子树3节点高度比右子树7节点大2,左子树3节点的左子树1节点高度大于右子树4节点,这种情况成为左左。
2、6节点的左子树2节点高度比右子树7节点大2,左子树2节点的左子树1节点高度小于右子树4节点,这种情况成为左右。
3、2节点的左子树1节点高度比右子树5节点小2,右子树5节点的左子树3节点高度大于右子树6节点,这种情况成为右左。
4、2节点的左子树1节点高度比右子树4节点小2,右子树4节点的左子树3节点高度小于右子树6节点,这种情况成为右右。
相关文章推荐
- 平衡二叉树的LR旋转的两种情况
- 企业在什么样情况下需要改版网站-金瑞帆建站
- 动画演示平衡二叉树旋转
- ubuntu 使用过程中可能遇到的问题,和所需要用到的情况设置
- 个人理解:什么情况下需要使用protected修饰类成员变量
- 什么情况下需要检测预装Win8/8.1电脑内置激活密钥(即Win8/8.1 OEM key)?
- 需要维护物料Source List的情况
- Ibatis中sqlmap参数map中还需要套list的情况如何写?
- iOS7时iPAD旋转的键盘需要特殊处理
- 关于面试需要了解公司的一些情况
- swift-image上传图片时需要旋转在上传服务器代码
- 主线程里面使用WaitForSingleObject (WaitForMultipleObjects)需要考虑的情况(转)
- mysql大文本数据类型的使用需要考虑实际情况
- 100层楼有一个鸡蛋,如果确定刚好摔碎的那个楼层,最坏情况下最少需要摔多少次?
- Add Two Numbers 看着简单,其实各种奇葩情况需要考虑。。。
- Android用户空间的处理及移植需要注意的情况
- Dotnet跨应用程序域访问和需要特别注意的地方(WCF消息通道处于错误状态异常中的一种情况)
- Hadoop 委任和解除节点(DataNode和NodeManager) Hadoop 集群管理员经常需要向集群中添加或者移除节点。通常情况下,节点同时运行DataNode和NodeManager。
- 根据个人情况以及Java程序员面试宝典总结的需要复习的知识点
- qml支持多平台的编译--尤其对于需要支持xp的情况