mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 22:28:40 +08:00 
			
		
		
		
	Update hash collision.
This commit is contained in:
		@ -16,7 +16,7 @@ comments: true
 | 
			
		||||
 | 
			
		||||
「负载因子 Load Factor」定义为 **哈希表中元素数量除以桶槽数量(即数组大小)**,代表哈希冲突的严重程度。
 | 
			
		||||
 | 
			
		||||
**负载因子常用作哈希表扩容的触发条件**。比如在 Java 中,当负载因子 $> 0.75$ 时则触发扩容,将 HashMap 大小扩充至原先 $2$ 倍。
 | 
			
		||||
**负载因子常用作哈希表扩容的触发条件**。比如在 Java 中,当负载因子 $> 0.75$ 时则触发扩容,将 HashMap 大小扩充至原先的 $2$ 倍。
 | 
			
		||||
 | 
			
		||||
与数组扩容类似,**哈希表扩容操作的开销很大**,因为需要将所有键值对从原哈希表依次移动至新哈希表。
 | 
			
		||||
 | 
			
		||||
@ -76,8 +76,6 @@ comments: true
 | 
			
		||||
 | 
			
		||||
!!! note "工业界方案"
 | 
			
		||||
 | 
			
		||||
    Java 采用「链式地址」。在 JDK 1.8 之后,HashMap 内数组长度 $> 64$ 时,长度大于 8 的链表会被转化为「红黑树」,以提升查找性能。
 | 
			
		||||
    Python 采用「开放寻址」。字典 dict 采用的是随机探测,即使用伪随机数来探测。 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    Java 采用「链式地址」。在 JDK 1.8 之后,HashMap 内数组长度大于 64 时,长度大于 8 的链表会被转化为「红黑树」,以提升查找性能。
 | 
			
		||||
 | 
			
		||||
    Python 采用「开放寻址」。字典 dict 使用伪随机数进行探测。 
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user