【算法】二叉树_分类

       在这篇博客中(https://blog.csdn.net/qq_33432841/article/details/108081027)已经讲解了二叉树的一些特点、性质、遍历顺序等。在这篇博客中,准备写点二叉树的分类的相关知识。

二叉树分类主要包括:斜树、满二叉树、完全二叉树、二叉查找树、平衡二叉树等(还会更新哦!)

斜树:

  • 所有的结点都只有左子树的二叉树叫左斜树;
  • 所有结点都是只有右子树的二叉树叫右斜树;

      上面的左斜树和右斜树统称为斜树。

           

满二叉树:

      在一棵二叉树中。如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。

      满二叉树必须满足:

  • 总的结点个数2^k-1个结点; 
  • 第i层的结点个数数为2^(k-1)个结点;
  • 具有n个节点的满二叉树的深度为

      满二叉树的特点:

  • 叶子只能出现在最下一层。出现在其它层就不可能达成平衡。
  • 非叶子结点的度一定是2。
  • 在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。

完全二叉树:

       其和满二叉树不同的最后一层不是满的,除了最了一层,其余的k-1层是一个满二叉树,最后一层的结点是从左开始排列的。(满二叉树是特殊的完全二叉树,但完全二叉树不一定是满二叉树)。

 

   完全二叉树必须满足:

  • 某个节点没有左子节点,那么肯定也不能有右子节点
  • 从第1层到第k-1层是一个满二叉树,最后一层的结点从左开始排列。

   完全二叉树的特点

  • 叶子结点只能出现在最下层和次下层。
  • 最下层的叶子结点集中在树的左部。
  • 倒数第二层若存在叶子结点,一定在右部连续位置。
  • 如果结点度为1,则该结点只有左孩子,即没有右子树。
  • 同样结点数目的二叉树,完全二叉树深度最小。

    备注:满二叉树一定是完全二叉树,但反过来不一定成立。

二叉查找树:

       二叉查找树(Binary Search Tree)(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。

     二叉查找树必须满足:

  • 所有子树上面的左节点的值都比根结点要小,右节点的值都比根结点要大 
  • 任意结点的左右子树也都是二叉查找树
  • 通过中序遍历,将得到的是一个有序的数列

对其操作的最优的时间复杂度为O(log2n),相当于对数列进行二分查找法。最坏的时间复杂度为O(n),相当于线性查找。

平衡二叉树:

        平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),它是二叉查找树最优的情况。它很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。

        在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树。

这种左右子树的高度相差不超过 1 的树为平衡二叉树。

        平衡二叉树具有以下性质:

  • 它是一个二叉查找树
  • 它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
  • 当删除、新增、修改节点上的值时,它会通过左旋或右旋的操作使二叉树保持平衡。
  • 最坏的时间复杂度为O(log2n)

       在平衡二叉树里面有一个隐含的知识点:平衡因子

       定义:某节点的左子树与右子树的高度(深度)差即为该节点的平衡因子(BF,Balance Factor),平衡二叉树中不存在平衡因子大于 1 的节点。在一棵平衡二叉树中,节点的平衡因子只能取 0 、1 或者 -1 分别对应着左右子树等高,左子树比较高,右子树比较高。

下面一篇博客写平衡二叉树(ALV树)的一些插入相关的知识点。

                 不后悔过去,不幻想未来,把握好现在,就是对自己最好的交代!!!!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值