数据结构中的树
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的结点为根的子树称为最小不平衡子树。
二叉树:二叉树是n(n≥0)个节点的有限集合。该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。
二叉树的特点:1、每个结点最多只有两棵子树;
2、左子树和右子树是有顺序的,次序不能任意颠倒;
3、即使树中某结点只有一棵子树,也要区分它是左子树还是右子树。
二叉排序树:又称二叉查找树,它或者是一棵空树,或者是具有下列性质的二叉树:
1、若它的左子树不为空,则左子树上所有节点的值均小于它的根结点的值;
2、若它的右子树不为空,则右子树上所有结点额值均大于它的根结点的值;
3、它的左子树和有子树分别也是二叉排序树。
平衡二叉树(AVL树):平衡二叉树是一种二叉排序树,其中每一个节点的左子树和右子树的高度差至多等于1。
平衡二叉树要么是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。我们将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF(Balance Factor)。
平衡二叉树,又称AVL树。它或者是一棵空树,或者是具有下列性质的树:
1) 具备二叉排序树的所有性质;
2) 左子树和右子树深度差的绝对值不超过1;
3) 左子树和右子树都是二叉平衡树。
最小失衡子树:从新插入的结点向上查找,以第一个平衡因子的绝对值超过1的结点为根的子树称为最小不平衡子树。
相关文章推荐
- Java免锁数据结构
- 再谈数据结构的重要性
- 数据结构 C语言实现直接插入排序
- 2015-8-19数据结构学习-哈夫曼树
- MySQL索引背后的数据结构及算法原理
- 堆排序
- 数据结构之链表C语言实现以及使用场景分析
- 希尔排序
- 直接插入排序
- 选择排序
- 冒泡排序及其优化
- 数据结构实验图论:基于邻接矩阵/邻接表的广度优先搜索遍历
- Win32汇编--数据结构
- 数据结构之赫夫曼树的算法介绍和实现
- 数据结构 C语言实现冒泡排序
- 数据结构 C语言实现选择排序
- 数据结构 C语言实现快速排序
- POJ 3083 Children of the Candy Corn
- 黑马程序员———C语言———【数据结构:单链表】
- 数据结构之树与二叉树(理论篇)