从后往前查时,将表的第一个设为 key,这样表中没有时返回的是 0
时间性能:不成功时为
折半查找 n 个结点的判定树的深度与 n 个结点的完全二叉树的深度相同。 时间性能: 成功时:比较次数等于该路径上内部结点的个数 不成功时:比较次数等于该路径上结点个数。不超过$log_2{n}+1$
又称分块查找
每一块的关键字不一定有序,但是块与块之间是绝对的大于或者小于
有时在查询之后,还需要将“查询”结果为“不在查找表中”的数据元素插入到查找表中;或者,从查找表中删除其“查询”结果为“在查找表中”的数据元素
简而言之就是边查询边操作 (map)
创建
查询
删除
当删除时左右子树都不空:
- 找到左子树的最右孩子(作为 sentinel)
- 直接把要删除的结点的 data 值等于 sentinel 的值
- 然后将 sentinel 的前驱的右孩子直接连接 sentinel 的左孩子
平衡因子: 二叉树上任一结点的左子树深度减去右子树深度的差值,称为此结点的平衡因子
- 直接定址法(哈希函数为线性函数)
- 数字分析法
- 平方取中法
- 折叠法
- 除留余数法
- 随机数法


