哈希表

除留余数法 H(key) = key mod m 把关键字直接映射到槽位,期望一次存取。冲突不可避免: 线性探测沿后继槽位找空位(开放定址),链地址法则把同义词挂成链表。装填因子 α = n/m 决定冲突频率,也决定平均查找长度。

哈希表
01 / 24 步
除留余数法 H(x) = x mod 11。线性探测构造:冲突时探测后继槽位。 比较 0 · 交换 0
伪代码

				
					
					1
					procedure createHash(T, m, keys)
				
			
				
					
					2
					  for each key in keys do
				
			
				
					
					3
					    h = H(key) = key mod m
				
			
				
					
					4
					    i = 0
				
			
				
					
					5
					    while T[(h + i) mod m] 非空 do
				
			
				
					
					6
					      i = i + 1              // 冲突:线性探测下一槽
				
			
				
					
					7
					    T[(h + i) mod m] = key   // 找到空槽,放入
				
			
				
					
					8
					  end for
				
			
				
					
					9
					end procedure
				
			
01 / 24
速度