关于调节AVL树的平衡(左右旋)
AVL树:具有以下性质的二叉搜索树:左右孩子也都是AVL树,并且左右子树高度差的绝对值不超过1(平衡因子为-1,0,1中的一个)。
平衡因子:该节点右子树和左子树的高度差,这个数字即是这个结点的平衡因子。
也就是说:AVL树是在BST树的基础上增加了平衡因子的概念,变成了平衡二叉搜索树。
关于结点类型和树的设计:
typedef int KeyType;
typedef struct AVLNode{
AVLNode*left;
AVLNode*right;
AVLNode*parent;
KeyType key;
int balance;
}AVLNode;
typedef struct AVLTree{
AVLNode* head;
KeyType cursize;
}AVLTree;
AVL树的结点插入