当前位置:   article > 正文

C++数据结构查找——哈希表(包含GIF和相关图示)_c++中怎么返回哈希表的索引

c++中怎么返回哈希表的索引

目录

一、介绍

哈希表(Hash Table)

1.定义

2.举例

3.本质

哈希冲突(Hash Collision)

1.定义

2.举例

二、哈希函数的构造

直接定址法

i.举例1

 ii.举例2

 iii.总结

数字分析法

i.举例

 ii.总结

除余法与平方法

其他方法

三、处理哈希冲突

链地址法:

开放寻址法:

四、STL库中的哈希表使用

五、哈希表的实现

1.链地址法

算法实现

 代码执行结果

 全部代码

2.开放寻址法

算法实现

全部代码

代码执行结果

六、总结


一、介绍

哈希表(Hash Table)

1.定义

"散列表"也叫哈希表,是一个 根据键值(Key)直接访问在内存中的存储位置 的数据结构。哈希表通过一个哈希函数(散列函数),将键值(Key)映射为哈希表中的一个位置,我们可以通过这个位置来访问记录

2.举例

为了方便理解,在另外一篇文章我看到一个很好的例子,以下加以阐述:

example:有一天你想给李四(键值Key)打电话,但是李四的电话你忘记了,这个时候你打开电话簿,电话薄里储存了人名首字母以及首字母对应的电话号码的页数的目录(哈希表),这个目录是由你所确定的一个法则得来的:将人名的姓转换为英文再转换为单个首字母(如王二→Wang→W),这个法则就是哈希函数,通过目录你找到了李四所对应的首字母L,在首字母L的后面你找到了李四的电话所在的页数(位置),翻到该页你找到了李四的电话(记录),然后你就可以给李四打电话了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/469892
推荐阅读
相关标签