平衡二叉树(Balanced binary tree)是由阿德尔森-维尔斯和兰迪斯(Adelson-Velskii and Landis)于1962年首先提出的,所以又称为AVL树。
定义:平衡二叉树或为空树,或为如下性质的二叉排序树:
(1)左右子树深度之差的绝对值不超过1;
(2)左右子树仍然为平衡二叉树.
平衡因子BF=左子树深度-右子树深度....
分类:
其他好文 时间:
2015-02-02 12:37:55
阅读次数:
343
平衡二叉树平衡二叉树又称AVL树。它或者是一颗空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差绝对值不超过1.若将二叉树上节点的平衡因子BF(Balance Facter)定义为该节点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只...
分类:
其他好文 时间:
2015-01-13 07:52:12
阅读次数:
198
平衡二叉树又称为AVL树,它或者是一颗空树,或者是具有下列性质的二叉树:
(1)它的左子树和右子树都是平衡二叉树。
(2)左子树和右子树的深度之差的绝对值不超过1。
平衡二叉树中有一个重要的概念,平衡因子BF(Balance Factor)定义为该结点的左子树深度减去它的右子树的深度,根据平衡二叉树的性质可知,平衡因子只可能是-1、0和1。
A...
分类:
其他好文 时间:
2015-01-12 09:25:49
阅读次数:
257
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1“两个结点的变换”如图:就拿第一个来说->点100和101的变换:点101占据...
分类:
其他好文 时间:
2015-01-05 10:44:55
阅读次数:
173
1、是二叉搜索树(Binary Search Tree)2、树和所有左右子树高度之差为-1,0,1平衡因子(balance factor) =右子树高度-左子树高度平衡化旋转: 1、从插入位置向根节点计算节点的平衡因子; 2、若发现不平衡点(即平衡因子绝对值大于1),从此节点向下取两层; 3...
分类:
其他好文 时间:
2015-01-04 01:07:09
阅读次数:
421
最近重温《数据结构》,发现其中的东西我上学的时候几乎都没写过。。。 惭愧啊。于是打算一一写点。算是对我逝去青春的纪念。。。avl树的代码网上有很多, 这个在平衡二叉树里面算是比较简单的。 需要注意的就是树的平衡因子和其子树的平衡因子符号相反的旋转情况。这个在函数avl_rotate_right等中有...
分类:
其他好文 时间:
2014-12-25 09:57:38
阅读次数:
219
package datastructure.tree;
/**
* 红黑树是基于平衡二叉搜索树的一种扩展,它是给据红黑结点来判断是否旋转并进行相应的处理
* 这样就省去了平衡因子的判断,简化了算法的难度。根据红黑结点以调整树的平衡因子,这种 方
* 法可以近似平衡。红黑树具有以下性质:
* 1.每个结点要么是黑色,要么是红色。(源于算法导论第三版)
* 2.根结点是黑色的。
* ...
分类:
其他好文 时间:
2014-12-06 19:37:07
阅读次数:
221
平衡二叉树 AVL( 发明者为Adel'son-Vel'skii 和 Landis)是一种二叉排序树,其中每一个节点的左子树和右子树的高度差至多等于1。首先我们知道,当插入一个节点,从此插入点到树根节点路径上的所有节点的平衡都可能被打破,如何解决这个问题呢?这里不讲大多数书上提的什么平衡因子,什么最...
分类:
其他好文 时间:
2014-11-24 06:26:20
阅读次数:
165
什么是平衡二叉树?
平衡二叉树是一种特殊的二叉排序树,又称AVL树,它可以是一棵空树,或者是具有下列性质的二叉排序树:左子树与右子树的深度之差的绝对值不超过1,且它的左右子树都是平衡二叉树。
二叉树上结点的平衡因子BF(BalanceFactor)定义为改结点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只可能为-1,0或者1。
为什么要引申出平衡二叉树的概念?...
分类:
其他好文 时间:
2014-11-08 19:43:56
阅读次数:
291
1.AVL 树本质上还是一棵二叉搜索树,它的特点是:本身首先是一棵二叉搜索树。带有平衡条件: 每个结点的左右子树的高度之差的绝对值(平衡因子) 最多为 1。2. 数据结构定义AVL树节点类:1 template 2 class AVLTreeNode {3 public:4 T key;5 ...
分类:
编程语言 时间:
2014-11-03 20:43:18
阅读次数:
415