数据结构之哈希表(散列表查找)
2017-03-23 10:14
309 查看
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。f成为散列函数,或者哈希函数,采用散列技术将记录存储在一块连续的存储空间中,这块存储空间称为散列表或哈希表。
散列函数的构造方法:
(1)直接地址法:需要知道关键字的分布情况,适合查找表小且连续的情况。此方法虽简单但不常用。
(2)数字分析法:抽取--使用关键字的一部分来计算散列存储位置的方法。适合处理关键字位数较大的情况。
(3)平方取中法: 设关键字为1234,其平方为1522756,抽取中间3位就是227,用作散列地址。适用于不知道关键字的分布,且位数又不是很大的情况。
(4)折叠法:不需要事先知道关键字的分布,适合关键字位数较多的情况。
(5)除留余数法:
(6)随机数法:
处理散列冲突的方法:
(1)开放定址法:一旦发生冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。包括线性探索法、二次探索法、随机探索法。
(2)再散列函数法:
(3)链地址法:
散列函数的构造方法:
(1)直接地址法:需要知道关键字的分布情况,适合查找表小且连续的情况。此方法虽简单但不常用。
(2)数字分析法:抽取--使用关键字的一部分来计算散列存储位置的方法。适合处理关键字位数较大的情况。
(3)平方取中法: 设关键字为1234,其平方为1522756,抽取中间3位就是227,用作散列地址。适用于不知道关键字的分布,且位数又不是很大的情况。
(4)折叠法:不需要事先知道关键字的分布,适合关键字位数较多的情况。
(5)除留余数法:
(6)随机数法:
处理散列冲突的方法:
(1)开放定址法:一旦发生冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。包括线性探索法、二次探索法、随机探索法。
(2)再散列函数法:
(3)链地址法:
相关文章推荐
- 数据结构之查找(七)——散列表查找(哈希表)
- 【学习笔记----数据结构26-散列表查找(哈希表)】
- 数据结构再学习-散列表(哈希表)实现
- 数据结构实验之查找五:平方之哈希表
- SDUTACM 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找五:平方之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构基础温故-6.查找(下):哈希表
- 数据结构实验之查找七:线性之哈希表
- SDUTACM 数据结构实验之查找五:平方之哈希表
- 数据结构实验之查找五:平方之哈希表
- 数据结构实验之查找七:线性之哈希表
- 数据结构实验之查找七:线性之哈希表
- SDUT 数据结构实验之查找七:线性之哈希表
- SDUT(3377)数据结构实验之查找五:平方之哈希表
- 数据结构——哈希表(散列表)
- SDUT 数据结构实验之查找五:平方之哈希表
- sdutoj 3377 数据结构实验之查找五:平方之哈希表
- 数据结构实验之查找五:平方之哈希表
- 数据结构实验之查找五:平方之哈希表