搜索
写经验 领红包
 > 社会

数据结构哈希表平均查找长度(数据结构哈希表怎么画)

在生活中,很多人可能想了解和弄清楚数据结构--哈希表的相关问题?那么关于数据结构哈希表平均查找长度的答案我来给大家详细解答下。

数据结构哈希表平均查找长度(数据结构哈希表怎么画)

1.什么是哈希表?

是一种数据结构,提供了快速的插入和查找操作,基于数组实现。

2.哈希化

2.1 直接将关键字作为索引。

当索引值不再为int型时,大多数索引值是string类型。

2.2 将单词转换为索引。

2.2.1 将字母转换成ASCII码,然后进行相加。

此种方式,当key的哈希码相同时,就会出现不同的key找到同一个值的问题,比如abc和bbb的哈希编码相同。而且重复的概率非常高。

2.2.2 幂的连乘

连成之后的数是非常大的,有可能超出int的范围,所以需要压缩。

2.2.3 压缩可选值

可当key的值很长时,hashVal的值是通过幂的连乘得到的,这个值会越来越大,而hashVal为int 或者long类型都是不合适的,使用BigInteger类型。

3.压缩后仍然可能出现问题

冲突,不能保证每个单词都映射到数组的空白单元。

解决办法:开放地址法

链地址法

温馨提示:通过以上关于数据结构--哈希表内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。