数据结构之Tree

本文介绍了二叉树的四种遍历方式:前序、中序、后序和层序遍历,并重点讲解了二叉查找树和二叉平衡树的概念。在二叉平衡树中,当节点插入导致不平衡时,通过左旋和右旋操作来保持平衡。文章详细阐述了左旋和右旋的规则及触发时机,并列举了四种需要旋转的情况及其解决方案。
摘要由CSDN通过智能技术生成
  1. 前序遍历:当前节点,左子节点,右子节点
  2. 中序遍历:左子节点,当前节点,右子节点
  3. 后序遍历:左子节点,右子节点,当前节点
  4. 层序遍历:一层一层的遍历

二叉树是随机插入数

二叉查找树是有规律的插入(小的存左边,大的存右边)

二叉平衡树是任意左右节点相差不超过1

平衡二叉树旋转机制

规则1:左旋

规则2:右旋

触发时机:当添加一个节点后,该树不再是一个平衡二叉树

左旋

确定支点:从添加的节点开始,不断的往父节点找不平衡的节点

步骤:以不平衡的点作为支点,把支点左旋降级,变成左子节点,晋升原来的右子节点

 第二种情况步骤

以不平衡的点作为支点,将根节点的右侧往左拉,原先的右子节点变成新的父节点,,并把多余的左子节点让出,给已经降级的根节点当作右子节点

 右旋与左旋同理

 数据结构(平衡二叉树)需要旋转的四种情况

  1. 左左:当根节点左子树的左子树有节点插入,导致二叉树不平衡(解决方案:一次右旋)
  2. 左右:当根节点左子树的右子树有节点插入,导致二叉树不平衡(解决方案:先局部左旋在整体右旋)
  3. 右右:当根节点右子树的右子树有节点插入,导致二叉树不平衡(解决方案:一次左旋)
  4. 右左:当根节点右子树的左子树有节点插入,导致二叉树不平衡(解决方案:先局部右旋在整体左旋)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值