当前课程知识点:数据结构(下) > 第九章 词典 > (d1)散列:排解冲突(1) > 09D1-3 开放定址
反观独立链法 其采用的是所谓封闭定址策略
closed addressing
也就是说 对于散列表中的任何一个单元
在其所对应的列表中
能够存放而且只能够存放那些
与这个桶单元的地址 比如K相冲突的词条
也就是说 每个词条应该属于哪个桶所对应的列表
都是在事先已经注定的
不难理解 只要采用这种策略
就很难保证每组冲突的词条在空间上能够彼此毗邻
因此或许我们应该放弃这种策略 并反其道而行之
也就是采用所谓的开放定址策略 open addressing
这种策略的特点是
散列表所占用的空间在物理上始终是地址连续的一块
相应的所有的冲突都在这块连续的空间中 加以排解
而无需向独立链法那样 申请额外的空间
没错 所有的散列以及冲突排解
都在这样一块封闭的空间内完成
因此相应的 这种策略也可以称作为闭散列closed hashing
既然是闭散列 那么每一个桶单元
都应该面向所有可能的词条开放
也就是说 在特定的情况下
每一个词条都有可能存放在任何一个桶中
当然 对于每一个特定的词条
具体存放在哪个桶中 是有不同的优先级的
其中优先级最高的自然是它本来就应该归属的那个桶
从这个桶开始 所有的桶都按照某种优先级关系
排成一个序列
而在查找对应的词条时
我们也总是从这个序列的起点出发
顺次去尝试每一个桶单元
每个词条所对应的这样一个序列 也称作试探序列
试探链 或者查找链
当然 沿查找链的查找 同样有两种结果
或者在某一个特定的桶中
找到目标元素 也就是所谓的成功
或者一旦抵达第一个空桶 即可报告失败
那么具体的 应该如何来约定查找链呢
-选课之前
--写在选课之前
--宣传片
-考核方式
--考核方式
-OJ系统说明
--关于OJ
--1-注册与登录
--2-界面与选课
--3-提交测试
-关于课程教材与讲义
--课程教材与讲义
-关于讨论区
--关于讨论区
-微信平台
--html
-PA晋级申请
--PA晋级
-(a)概述
--07A-1 纵览
--07A-5 接口
-(a)概述--作业
-(b1)BST:查找
-第七章 二叉搜索树--(b1)BST:查找
-(b2)BST:插入
-(b2)BST:插入--作业
-(b3)BST:删除
-第七章 二叉搜索树--(b3)BST:删除
-(c)平衡与等价
-(c)平衡与等价--作业
-(d1)AVL树:重平衡
-第七章 二叉搜索树--(d1)AVL树:重平衡
-(d2)AVL树:插入
-(d2)AVL树:插入--作业
-(d3)AVL树:删除
-(d3)AVL树:删除--作业
-(d4)AVL树:(3+4)-重构
-(d4)AVL树:(3+4)-重构--作业
-本章测验
--章节测验
-(a1)伸展树:逐层伸展
--习题
-(a2)伸展树:双层伸展
--习题
-(a3)伸展树:算法实现
--习题
-(b1)B-树:动机
--习题
-(b2)B-树:结构
--习题
-(b3)B-树:查找
--习题
-(b4)B-树: 插入
--习题
-(b5)B-树: 删除
--习题
-(xa1)红黑树:动机
--习题
-(xa2)红黑树:结构
--习题
-(xa3)红黑树:插入
--习题
-(xa4)红黑树:删除
-本章测验
--习题
-(b)散列:原理
--09B-3 数组
--09B-4 原理
--09B-5 散列
--09B-6 冲突
--习题
-(c)散列:散列函数
--习题
-(d1)散列:排解冲突(1)
--习题
-(d2)散列:排解冲突(2)
--习题
-(e)桶/计数排序
--习题
-本章测验
--本章测试
-(a1)需求与动机
--习题
-(a2)基本实现
--习题
-(b1)完全二叉堆:结构
--习题
-(b2)完全二叉堆:插入与上滤
--习题
-(b3)完全二叉堆:删除与下滤
--习题
-(b4)完全二叉堆:批量建堆
--习题
-(c)堆排序
--习题
-(xa1)左式堆:结构
--习题
-(xa2)左式堆:合并
--习题
-(xa3)左式堆:插入与删除
-本章测验
--本章测试
-(a)ADT
--习题
-(b1)串匹配
--习题
-(b2)蛮力匹配
--习题
-(c1)KMP算法:从记忆力到预知力
--习题
-(c2)KMP算法:查询表
--习题
-(c3)KMP算法:理解next[]表
--习题
-(c4)KMP算法:构造next[]表
--习题
-(c5)KMP算法:分摊分析
--习题
-(c6)KMP算法:再改进
-(d1)BM_BC算法:以终为始
-(d2)BM_BC算法:坏字符
-(d3)BM_BC算法:构造bc[]
-(d4)BM_BC算法:性能分析
-(e1)BM_GS算法:好后缀
-(e2)BM_GS算法:构造gs表
-(e3)BM_GS算法:综合性能
-(f1)Karp-Rabin算法:串即是数
-(f2)Karp-Rabin算法:散列
-本章测验
--本章测试
-(a1)快速排序:算法A
-- 12a1-5: 实例
--习题
-(a2)快速排序:性能分析
--习题
-(a4)快速排序:变种
-(b1)选取:众数
-(b3)选取:通用算法
--习题
-(c1) 希尔排序:Shell序列
--习题
-(c2)希尔排序:逆序对
-本章测验
--本章测试