在AVLTree中经常会有以某个节点为点对子树进行旋转的操作,今天就和大家分享一下什么是二叉树的旋转。

这是一棵二叉树,上图称为图一。
将图一中的树以1为旋转点进行左旋后得到图二:

将图一中的树以1为旋转点进行右旋旋后得到图三:

将图三一节点1为旋转点点做右旋得到图四:

看了几次左旋和右旋之后相信有很多同学已经明白了什么是左旋,什么是右旋,如果还不清楚的话,请结合下面的结论再去理解上图。

左旋:旋转点的右子树(包括旋转点)成为旋转点左子树的根节点的右子树,旋转点左子树的根节点的原右子树变为原旋转点的左子树。
右旋:旋转点的左子树(包括旋转点)成为旋转点右子树的根节点的左子树,旋转点左子树的根节点的原左子树变为旋转点的的右子树。

二叉树的旋转,左旋和右旋相关推荐

  1. 求旋转数组(左旋和右旋)的常用两个方法(详解)

    前言:首先我们要明白什么旋转数组?它包括左旋和右旋:我们不妨拿一个例子来解释,更加的容易理解:假设有一组数据:1 2 3 4 5 6 7 8 9: 如果是左旋1次=====>2 3 4 5 6 ...

  2. 二叉树的左旋和右旋简单图示

    旋转是二叉树的基本操作,我们可以对任意一个存在父亲节点的子节点进行旋转,包括如下几种形式(设被旋转节点为x,其父亲节点为p): 1.左旋 旋转前,x是p的右儿子. x的左儿子(若存在)变为p的右儿子, ...

  3. matlab视频旋转振动,基于MATLAB的振动合成及左旋与右旋的动态模拟演示

    振动和波动是横跨物理学不同领域的一种非常普遍而重要的运动形式.振动的合成是研究实际问题常见的方法.其中同频率同方向简谐振动合成原理,是讨论光波.声波以及电磁辐射的干涉和衍射的理论基础;同方向,频率之和 ...

  4. 通过左旋和右旋来实现搜索二叉树的自平衡

    首先左旋和右旋的概念都是在平衡二叉树的基础上提出的.并对AVL树 SB树 红黑树在原理层面进行了简单的介绍,无coding. 什么是左旋? 假设存在下述平衡二叉树(某个结点的左子节点都小于该结点,右子 ...

  5. Java 平衡二叉树之单旋(左旋,右旋)与双旋

    1.平衡二叉树 平衡二叉树也叫平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树, 可以保证查询效率较高. 具有以下特点:它是一 棵空树或它的左右两个 ...

  6. AVL树添加节点后的平衡操作(一)逻辑分析:左旋、右旋、双旋(超详细图解)

    AVL树 AVL树是最早发明的自平衡二叉搜索树之一,其名字来源于两位发明它的科学家G. M. Adelson-Velsky 和 E. M. Landis(来自苏联的科学家). AVL树的特点 AVL树 ...

  7. 【算法】红黑树插入数据(变色,左旋、右旋)(二)

    本人菜鸡一只,正在更新红黑树系列的文章. 该系列已经全部更完,有5篇文章: [算法]红黑树(二叉树)概念与查询(一):https://blog.csdn.net/lsr40/article/detai ...

  8. 平衡二叉树的左旋和右旋

    文章目录 复习树 1. 树的概念 2. 二叉树(Binary Tree) 3. 满二叉树 4. 完全二叉树 5. 二叉堆 6. 二叉搜索树 左旋和右旋 7. 平衡二叉树(平衡二叉搜索树) 本文章是我的 ...

  9. 红黑树简介及左旋、右旋、变色

    红黑树简介及左旋.右旋.变色 红黑树(Red Black Tree)是一种自平衡二叉搜索树(二叉查找树),是一种特殊的二叉搜索树,在进行插入和删除时通过特定操作保持二叉树自身的平衡,从而获得较高的查找 ...

最新文章

  1. Python学习笔记__13.2章 requests
  2. 如何提高python的运行效率_几个提升Python运行效率的方法之间的对比
  3. Nginx-windows下nginx安装、配置与使用
  4. 共享童车,怎么还没火就凉了
  5. linux安装下载中文包,linux下安装中文包和字体
  6. 某大学强制全员申报国自然,不提交就扣奖金!
  7. Spring 整合junit
  8. Docker学习总结(29)——Docker核心技术与实现原理
  9. CSDN网站系统升级公告
  10. USB 协议整理 八:STM32官方USB库
  11. 淘宝网打开很慢、特别慢的完美解决方法
  12. 弘辽科技:淘宝改SKU图片会影响权重吗?
  13. 工厂智能化远程运营管理系统方案
  14. Biopython -- SeqIO
  15. 字道-最美中国字硬笔书法教学|培养孩子正确的执笔写字姿势有多重要?看完你就明白了!
  16. 一年级上册计算机教学计划,一年级信息技术上册教学计划一年级信息技术教学计划...
  17. 利用Android手机破解微信加密数据库EnMicroMsg.db文件
  18. java anymatch_Java Stream anyMatch() API
  19. 原创 | Java 2019 超神之路,很肝~
  20. Linux_网络_数据链路层协议 MAC帧/ARP协议 (以太网通信原理,MAC地址与IP地址的区分,MTU对IP/TCP/IP的影响,ARP协议及其通信过程)

热门文章

  1. 算法的时间复杂度和性能分析
  2. 【Metashape精品教程7】控制点和检查点
  3. 办公软件excel表格_如何学习word和excel办公软件
  4. 解决金仓数据库KingbaseES创建serial列并将其设置为主键约束,同时copy两条及以上数据时报错的问题
  5. centos服务器解锁频率限制
  6. 人生的枷锁是人生有意义
  7. ipad怎么和mac分屏_Macbook在ipad上怎么投屏和分屏,推荐两个app
  8. 【idea系列】插件之Rainbow Brackets
  9. Kensington标准锁孔
  10. 程序员必备的软件开发工具