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的结点为根的子树称为最小不平衡子树。

  • 相关阅读:
    python斐波那契数列
    Python 核心编程(第二版)第八章 练习完整答案[转载]
    MYSQL自动备份!
    PHP筛选法求质数。
    Python函数式编程指南(四):生成器(转载)
    试除法求质数的最快方法!
    Python函数式编程指南:目录和参考(转载)
    PHP冒泡算法
    maven默认web项目中的web.xml版本问题
    IDEA自动补全返回值类型的快捷键
  • 原文地址:https://www.cnblogs.com/heyijing/p/4743655.html
Copyright © 2011-2022 走看看