您的位置:首页 > 理论基础 > 数据结构算法

数据结构中的树

2015-08-19 22:17 411 查看
树:树是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的结点为根的子树称为最小不平衡子树。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: