CLSR 11.2散列表
来源:互联网 发布:齐次变换矩阵 编辑:程序博客网 时间:2024/06/04 18:19
11.2-1
对两个不同的关键字
令
11.2-2
11.2-3
链表排序后,查找平均次数为
查找成功:我们需要查找的元素任然是哈希表中的任意一个,平均时间
查找失败:只是平均查找次数变为了
插入:由于插入时要排序,插入操作和查找失败操作类似,因此平均时间是
删除:和查找成功一样,平均时间
11.2-4
槽的标志位用来指示槽是否是空槽,自由链表由表中所有空槽组成的一个双向链表,因此自由链表中空槽有两个指针。对于已经使用的槽包含一个元素和一个指向下一个散列到该槽的元素的指针(可能为空)。
INSERT
:
1) 散列到一个空槽,很简单,直接从自由链表取出空槽,然后存入元素和一个空指针;由于自由链表是双向链表,所以可以在
2) 一个元素
3) 从自由链表中取出一个空槽(这个槽不属于元素
4) 同样先取一个空槽(这个槽不属于
DELETE
:
设存在槽
1) 散列到槽
2) 假设元素
3) 假设元素
SEARCH
:
检查关键字散列的槽,若没有则追踪这个槽所指向的链表。
和书上的一样,SEARCH
操作的期望运行时间
11.2-5
由鸽笼原理知:若全域
11.2-6
采用如下方法:
1) 随机选择一个槽,设散列到该槽的元素个数为
2) 从
现在我们把这个哈希表想象成
- CLSR 11.2散列表
- CLSR 11.1直接寻址表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- 散列表
- Android 常用效果(各种进度条,酷炫loading动画,火箭升空,撒花以及趋势图)
- 安卓的优缺点
- 机器学习中利用牛顿迭代法代替梯度下降
- 九度oj 1187
- 几种常见数据库连接池的使用比较
- CLSR 11.2散列表
- 参数传递
- 一次向svn中增加所有新增文件 svn add all new files
- 类和对象的理解
- InvocationHandler中invoke()方法的调用问题
- 接口与抽象类
- 关于友元,重载的使用说明
- UIViewController方法调用顺序
- 每天读一点儿APM(PIX)代码