1
A
回答
2
散列函数需要的输出是将100个字符串散布为随机地说200个“鸽子”。在发生碰撞的情况下,即已经占用的插槽,线性扫描将搜索下一个未占用的插槽,立即产生一组至少两个(它也可能连接两组)。当与群集发生冲突时,线性探测会将群集添加一个新密钥,其原始位置应该位于群集中的任何位置。
很多快速评估哈希函数都会遇到不均匀分配密钥的问题。当输入数据不均匀分布时,这两个现象相互强调,在线性探测的情况下可能会导致大量的密钥集群。实际上,这不仅会导致插入,而且还会搜索O(n)问题而不是O(1)。
1
它不是总是连续的元素将形成集群的情况。
Condictory例如
假设有100
条目的哈希表:和所述散列函数是:
h(x) = x mod 100;
说您插入元件:形成
948,748,172,973,473,572,72
簇将是:
簇1:948(position 48),748(position 49)
(清楚元素不连续)
簇2:172(position 72),973(position 73),473(position 74),572(position 75),72(position 76)
(清楚元素不连续)。
YES,集群影响的时间找到一个免费的插槽,因为在linear probing
,我们扫描哈希表找到第二天空闲时隙,所以由于集群,线性扫描将需要更多的时间,由于集群形成,但其唯一的原因是线性扫描在碰撞的情况下。
相关问题
- 1. “散货”是什么意思?
- 2. '散列缺点'是什么意思?
- 3. Bash'type someCmd':什么意思是'散列'?
- 4. 宏中的双重散列(##)是什么意思?
- 5. 散列表碰撞处理
- 6. 是什么意思:是什么意思?
- 7. 什么是Javascript碰撞?
- 8. 什么?在C#中是什么意思?
- 9. 在Babeljs中“松散”的意思是什么?
- 10. 什么意思?=在vb.net中的意思?
- 11. 什么意思?=在PHP中的意思?
- 12. 什么是“?”在Java中的意思是?
- 13. 符号“#!”是什么意思?在Python中的意思是?
- 14. 散列time_t的字节是什么意思?
- 15. “散列函数的分布”是什么意思?
- 16. 什么是connection.Dispose()在C#中的意思?
- 17. 什么是(int)在c#中的意思?
- 18. 在PowerShell中的-f是什么意思?
- 19. Aspect在ios中的意思是什么
- 20. 什么是~~在JavaScript中的意思?
- 21. '“”''在C#中的“”+ ex'是什么意思?
- 22. 什么意思 - >在Ruby中的意思是
- 23. 是什么意思?=在伪代码中使用时的意思?
- 24. 'a'在Ruby open()中意味着什么?| f |是什么意思?意思?
- 25. URL的最佳可逆散列算法是什么? (接近零碰撞!)
- 26. tomcat中server.xml中的意思是什么?
- 27. 什么意思是“x位散列函数”
- 28. 在Windows中使用NTLMv2散列技术的碰撞率
- 29. 在C中的参数列表中是什么意思?
- 30. “?”是什么意思?调用jsp的标记是什么意思?
随时为任何疑问。 –