chapter_hashing/summary/ #100
Replies: 19 comments 12 replies
-
在学习哈希冲突一节的时候,有个疑问就是使用多次哈希的时候会不会也有需要标记被删除元素的问题;到小结的时候还是存在这个疑问,直到看到Q&A里面(开放寻址法“都“有不能直接删除元素的缺陷)才解决这个疑问。建议在正文的部分强调一下,或者把这个问题写在开放寻址下面,而不是写在线性寻址下面。 |
Beta Was this translation helpful? Give feedback.
-
由于兴趣出发,python也是自己摸索的学习,一直没有系统的概念。所以看见哈希表第一节时就有这是不是就是python中的字典的疑惑? |
Beta Was this translation helpful? Give feedback.
-
要是可以加几道大厂的笔试题就无敌了 |
Beta Was this translation helpful? Give feedback.
-
打卡,感谢作者捏 |
Beta Was this translation helpful? Give feedback.
-
为什么哈希算法不提倡用异或 |
Beta Was this translation helpful? Give feedback.
-
哈希函数的最后一步通常涉及对数组长度 n 取模(取余),其目的是将哈希值映射到一个有效的数组索引范围内。这个数组索引范围通常就是哈希表的桶数量,也就是哈希表内部存储数据的位置。 具体来说,当哈希函数计算出一个哈希值后,该哈希值可能会非常大,远远超出哈希表数组的实际大小。为了将这个大的哈希值映射到数组的索引范围内,可以使用取模运算。 取模运算(取余运算)是对一个数除以另一个数,得到的余数就是取模的结果。在哈希表中,通常会将哈希值对数组的长度 n 进行取模,以确保得到的索引值在数组范围内。 例如,如果哈希值为 h ,数组长度为 n ,那么对数组长度 n 取模的结果就是 h mod n 。这个结果将落在 0 到 n-1 之间,即有效的数组索引范围内,然后可以使用这个结果来确定存储位置。 这样做的目的是保证哈希值被分布到哈希表中的桶中,以便能够快速地访问和管理存储在哈希表中的数据。 |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot, 😊
…On Thu, Feb 22, 2024, 5:33 PM 宁子希 ***@***.***> wrote:
哈希函数的最后一步通常涉及对数组长度 n
取模(取余),其目的是将哈希值映射到一个有效的数组索引范围内。这个数组索引范围通常就是哈希表的桶数量,也就是哈希表内部存储数据的位置。
具体来说,当哈希函数计算出一个哈希值后,该哈希值可能会非常大,远远超出哈希表数组的实际大小。为了将这个大的哈希值映射到数组的索引范围内,可以使用取模运算。
取模运算(取余运算)是对一个数除以另一个数,得到的余数就是取模的结果。在哈希表中,通常会将哈希值对数组的长度 n
进行取模,以确保得到的索引值在数组范围内。
例如,如果哈希值为 h ,数组长度为 n ,那么对数组长度 n 取模的结果就是 h mod n 。这个结果将落在 0 到 n-1
之间,即有效的数组索引范围内,然后可以使用这个结果来确定存储位置。
这样做的目的是保证哈希值被分布到哈希表中的桶中,以便能够快速地访问和管理存储在哈希表中的数据。
—
Reply to this email directly, view it on GitHub
<#100 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASCIKGKXXJJGWPXTTCZFO6TYU4GFFAVCNFSM6AAAAAAS4X33BKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4DKNJUGM2TO>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
对key进行哈希运算找到桶的索引,桶内不止保存了value,key也保存了,得到桶的索引要进一步比对key是吗? |
Beta Was this translation helpful? Give feedback.
-
K大,对于这句话“如果一个功能能够在相同的时间复杂度下使用数组或链表实现,那么通常比哈希表更快。这是因为哈希函数计算需要开销,时间复杂度的常数项更大“,可以举个具体的例子吗 |
Beta Was this translation helpful? Give feedback.
-
2024.5.16 finish |
Beta Was this translation helpful? Give feedback.
-
找到寻找大质数的意义了,哈希算法通常采用大质数作为模数,以最大化地保证哈希值均匀分布,减少哈希冲突。 |
Beta Was this translation helpful? Give feedback.
-
public class HashTable {
} 数组+链表实现 hashtable,支持扩容 |
Beta Was this translation helpful? Give feedback.
-
chapter_hashing/summary/
Your first book to learn Data Structure And Algorithm.
https://www.hello-algo.com/chapter_hashing/summary/
Beta Was this translation helpful? Give feedback.
All reactions