查找分为动态和静态。
查找算法的评价指标:平均查找长度
顺序查找
成功的ASL和失败的ASL算法不太一样,失败就是遍历所有,答案是固定的,成功的概率是不一定的,从第一个到最后一个都有可能
上面说的是成功的和失败的平均查找长度
关于为什么是两个n:看了豆包但是不太懂,大致意思就是说比结点小的数到左边进行对比,比结点大的数去右边进行对比,简单的将上图左右划一刀斜线,正好比较2n次
顺序查找的时间复杂度就是O(n)
折半查找
也能根据这够0/1倒推树
由此,折半查找比顺序查找时间复杂度少,但并不是谁一定比谁更优秀
折半查找失败的标志是,low指的比high指的位序大
分块查找
因为在low>high之前一步是low=high
二叉排序树BST
让要删除的结点的右子树的左孩子顶替这个位置
让30替代50
由此,树应该往宽里长
要求失败的ASL,必须补充了失败结点
平衡二叉树
法一
法二
法三
平衡二叉树的删除
对于前驱/后继,意思是左边子树的右下方或者右边子树的左下方
对于3,如果个头都一样,哪个都行,个头指的是层数不是节点数大小