您的位置:首页 > 理论基础 > 数据结构算法

数据结构之哈希表(散列表查找)

2017-03-23 10:14 309 查看
  散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。f成为散列函数,或者哈希函数,采用散列技术将记录存储在一块连续的存储空间中,这块存储空间称为散列表或哈希表。

 散列函数的构造方法:

(1)直接地址法:需要知道关键字的分布情况,适合查找表小且连续的情况。此方法虽简单但不常用。

(2)数字分析法:抽取--使用关键字的一部分来计算散列存储位置的方法。适合处理关键字位数较大的情况。

(3)平方取中法: 设关键字为1234,其平方为1522756,抽取中间3位就是227,用作散列地址。适用于不知道关键字的分布,且位数又不是很大的情况。

(4)折叠法:不需要事先知道关键字的分布,适合关键字位数较多的情况。

(5)除留余数法:

(6)随机数法:

处理散列冲突的方法:

(1)开放定址法:一旦发生冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入。包括线性探索法、二次探索法、随机探索法。

(2)再散列函数法:

(3)链地址法:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: