=ST.elem[i].key
监视哨:将数组第0个元素设置为要查找的元素
含有监视哨的查找表是肯定能找到的,如果在0找到就是没找到,就符合相等的直接返回下标即可
查找算法的性能分析:
● 考虑查找失败...小的往左走,大的往右走,遇到NULL就插入
ASL计算:同查找树
存储结构:跟二叉树一样
查找算法:大的往右,小的往左,找到了返回,遇到NULL就失败
插入算法:
删除算法:在二叉排序树中删除一个结点时...我们看:不平衡的发现者是A,麻烦结点(让A发现不平衡的结点)在A的右边的右边,就需要做左单旋转
往右的直线:做左单旋转,C的左子树变成A的右子树
我们看:不平衡的发现者是A,麻烦结点(让A发现不平衡的结点...)在A的左边的左边,就需要做右单旋转
往左的直线:做右单旋转,B的右子树变成A的左子树
需要变换的子树都是含有麻烦结点子树的兄弟
我们看:不平衡的发现者是A,麻烦结点(让A发现不平衡的结点)在A的左边的右边...,就需要做左右旋转
先对BEG做一次左单旋转
在对AEB做一次右单旋转
我们看:不平衡的发现者是A,麻烦结点(让A发现不平衡的结点)在A的右边的左边,就需要做右左旋转
先对CDF做一次右单旋转