哈希表2025年3月17日 | 阅读 3 分钟 它是一组以某种方式存储的项的集合,以便以后可以轻松找到它们。 哈希表中的每个位置都称为槽,可以容纳一个项目,并以从0开始的整数值命名。 项目与哈希表中项目所属的槽之间的映射称为哈希函数。 哈希函数接受一个键并返回其哈希编码或哈希值。 假设我们有一组整数 54、26、93、17、77、31。 我们的第一个哈希函数需要是“余数法”,只需将项目除以表大小,然后返回余数作为其哈希值,即
![]() 现在,当我们需要搜索任何元素时,我们只需要将其除以表的大小,就可以得到哈希值。 因此,我们得到 O (1) 搜索时间。 现在取更多一个元素 44,当我们对 44 应用哈希函数时,我们得到 (44 % 11 = 0),但 0 哈希值已经有一个元素 77。这个问题称为冲突。 冲突: 根据哈希函数,两个或多个项目需要在同一个槽中。 这被称为冲突。 ![]() 图: 使用哈希函数 h 将键映射到哈希表槽。 因为键 K2 和 k5 映射到同一个槽,所以它们发生冲突。 为什么使用哈希表?
因此,哈希表需要的存储空间更少。 使用键 k 的间接寻址元素存储在槽 k 中,使用哈希处理存储在 h (k) 中,其中 h 是哈希 fn,hash (k) 是键 k 的值。 哈希 fn 需要数组范围。 哈希表的应用哈希表的一些应用是
下一个主题哈希方法 |
我们请求您订阅我们的新闻通讯以获取最新更新。