zoukankan      html  css  js  c++  java
  • 数据结构中的树

    树:树是n(n≥0)个节点的有限集合。当n=0是称为空树。在任意一棵非空树中,(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、......,其中每个集合本身又是一棵树,并且称为根的子树。

    二叉树:二叉树是n(n≥0)个节点的有限集合。该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。

    二叉树的特点:1、每个结点最多只有两棵子树;

             2、左子树和右子树是有顺序的,次序不能任意颠倒;

             3、即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。

    二叉排序树:又称二叉查找树,它或者是一棵空树,或者是具有下列性质的二叉树:

          1、若它的左子树不为空,则左子树上所有节点的值均小于它的根结点的值;

          2、若它的右子树不为空,则右子树上所有结点额值均大于它的根结点的值;

          3、它的左子树和有子树分别也是二叉排序树。

    平衡二叉树(AVL树):平衡二叉树是一种二叉排序树,其中每一个节点的左子树和右子树的高度差至多等于1。

    平衡二叉树要么是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。我们将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF(Balance Factor)。

      平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的树:

      1) 具备二叉排序树的所有性质;
      2) 左子树和右子树深度差的绝对值不超过1;
      3) 左子树和右子树都是二叉平衡树。

      最小失衡子树:从新插入的结点向上查找,以第一个平衡因子的绝对值超过1的结点为根的子树称为最小不平衡子树。

  • 相关阅读:
    指定的参数已超出有效值的范围。参数名:sit ,先仔细看看错误和我的一样不一样
    简单说下C#变量的作用域
    C#常用的字符串处理方法
    驼峰命名、帕斯卡命名、匈牙利命名--三种命名方法
    Python的安装
    Python下numpy的使用
    命名法:骆驼(Camel)、帕斯卡(pascal)、匈牙利(Hungarian)、下划线(_)
    PHP中高级面试问题集锦
    利用python,生成word
    python实现网页截图
  • 原文地址:https://www.cnblogs.com/heyijing/p/4743655.html
Copyright © 2011-2022 走看看