100000614 - 《算法笔记》9.5小节——数据结构专题(2)->平衡二叉树(AVL)
文章目录 9.5小节——数据结构专题(2)->平衡二叉树(AVL) 9.4.1-平衡二叉树的定义 9.4.2-AVL的基本操作 1-查找 2-插入 3-AVL树的建立 AVL树的基本操作代码集合 Codeup习题 问题 A: 算法9-9~9-12:平衡二叉树的基本操作 平衡二叉树小结 9.5小节——数据结构专题(2)->平衡二叉树(AVL) 9.4.1-平衡二叉树的定义 AVL是增加了平衡条件的二叉查找树,即对AVL树的任意结点来说其左子树与右子树高度之差的绝对值不超过1,其中左子树与右子树的高度之差称为该结点的平衡因子。 9.4.2-AVL的基本操作 其基本操作有查找、插入、建树、删除。 1-查找 和二叉查找树的查找一致 //查找 int search ( node * root , int v ) { if ( root == NULL ) { //空树,查找失败 // printf("search failed\n"); return 0 ; } if ( v == root - > v ) { // printf("%d\n",root->data); return 1 ; } else if ( v < root - > v ) { search ( root - > lchild , v ) ; } else { search ( root - > rchild , v