数据结构课:二叉树上机实验。为了保证树的平衡性,使用AVL平衡树。
#include
#include
#include
struct AvlNode;
typedef struct AvlNode *Position;
typedef struct AvlNode *AvlTree;
AvlTree MakeEmpty(AvlTree T);
Position Find(int x,...
分类:
其他好文 时间:
2014-11-13 22:36:18
阅读次数:
381
这个题目纠结了一会儿,终于从二叉树转化到AVL了。题目如下:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a ...
分类:
其他好文 时间:
2014-11-13 12:41:02
阅读次数:
157
什么是平衡二叉树?
平衡二叉树是一种特殊的二叉排序树,又称AVL树,它可以是一棵空树,或者是具有下列性质的二叉排序树:左子树与右子树的深度之差的绝对值不超过1,且它的左右子树都是平衡二叉树。
二叉树上结点的平衡因子BF(BalanceFactor)定义为改结点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只可能为-1,0或者1。
为什么要引申出平衡二叉树的概念?...
分类:
其他好文 时间:
2014-11-08 19:43:56
阅读次数:
291
#include #include class Node {public: Node* L; Node* R; int height; int data; Node(int val, Node* l = NULL, Node* r = NULL, int h = 0):...
分类:
其他好文 时间:
2014-11-08 16:39:27
阅读次数:
137
1.AVL 树本质上还是一棵二叉搜索树,它的特点是:本身首先是一棵二叉搜索树。带有平衡条件: 每个结点的左右子树的高度之差的绝对值(平衡因子) 最多为 1。2. 数据结构定义AVL树节点类:1 template 2 class AVLTreeNode {3 public:4 T key;5 ...
分类:
编程语言 时间:
2014-11-03 20:43:18
阅读次数:
415
1 AVL树的定义
AVL树是一种自平衡二叉排序树,它的特点是任何一个节点的左子树高度和右子树的高度差在-1,0,1三者之间。AVL树的任何一个子树都是AVL树。
2 AVL树的实现
AVL树本质是一种二叉排序树,所以二叉排序树的任何性质AVL树都具有,但是AVL树稍微复杂的地方就是AVL树必须满足平衡条件,具体跟BST不同的地方主要体现在插入,删除操作。
插入操作:当插入之后可能会出现不...
分类:
编程语言 时间:
2014-11-03 19:25:21
阅读次数:
183
1,基本概念满二叉树完全二叉树:节点从上到下,从左到右排下来。平衡二叉树(AVL):左右子树都是平衡二叉树,且左右子树的深度只差的绝对值不超过1;节点的平衡因子:该节点的左子树的深度减去右子树的深度。平衡二叉树的所有节点的平衡因子只可能是0,1,-12,二叉树的性质在二叉树的第i(i>=1)层上至多...
分类:
其他好文 时间:
2014-10-29 16:18:21
阅读次数:
230
/*
1.插入:
使用了一个s数组来保存根节点到插入节点的路线
情况:
(1)空树,直接插入,return
(2)关键字相同,覆盖原来的值,return
(3)插入后,不失衡 那么就要拿出s数组的值来改变这条路线的平衡因子。
(4)插入后,失衡 调用AVL函数。
AVL旋转有分为4种
ll rr rl lr旋转(在设置平衡因子的时候,rl和lr旋转又有3种子情况)
2.查找...
分类:
其他好文 时间:
2014-10-28 13:56:53
阅读次数:
111
#include
#include
#include
#include
typedef struct AVLTree{
char name[31];
int nCount;
int nHeight;
struct AVLTree* pLeft;
struct AVLTree* pRight;
}AVLTree;
int Max( int...
分类:
其他好文 时间:
2014-10-19 17:09:29
阅读次数:
243
AVL树----javaAVL树是高度平衡的二叉查找树1.单旋转LL旋转理解记忆:1.在不平衡的节点的左孩子的左孩子插入导致的不平衡,所以叫LLprivate AVLTreeNode leftLeftRotation...
分类:
编程语言 时间:
2014-10-14 19:22:59
阅读次数:
230