一、二叉排序树(BST)
●关于BST平均查找长度的计算:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3c664c7bb6e733a610f6fc3397d39965.jpeg)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b0f717a5220aa996a72976d72aba2aae.jpeg)
●掌握BST的删除操作的手工实现:
(1)删除结点是叶子结点:直接删除
(2)删除结点只有一棵左子树或右子树:将其孩子放到自己现在的位置
栗子:
(3)删除的结点p有左子树,也有右子树
方法一:p与中序直接前驱交换,再删除p(通常用此方法)
方法二:p与中序直接后继交换,再删除p
中序线索二叉树有这样一个规律:
若某结点有左孩子,则其中序直接前驱就是其左子树中最右下的结点(也就是值最大的那个结点),该结点一定没有右子树
若某结点有右孩子,则其中序直接后继就是其右子树中最左下的结点(也就是值最小的那个结点),该结点一定没有左子树
二、平衡二叉树
●调整的栗子![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/942fc3b575a1af15f2821f7e23046a21.jpeg)
【小结】关于AVL树插入结点导致不平衡时调整的手法
平衡因子:该结点左子树的高度减去右子树的高度(同理也可以是该结点右子树的高度减去左子树的高度)。对于平衡二叉树,树中的所有结点的平衡因子的取值只为:0,-1,1。
理解:平衡二叉树调整平衡的旋转机制
●删除AVL树的结点(肯定还得牵扯平衡调整的问题喽)
栗子:以关键字序列为{16,3,7,11,9,26,18,14,14,15}构造出的平衡二叉树,依次删除结点11,9,15的过程。