数据结构排序查找C语言.pptVIP

  • 39
  • 0
  • 约7.7千字
  • 约 23页
  • 2016-08-23 发布于重庆
  • 举报
数据结构排序查找C语言

9.3 哈希(Hash)表和哈希法 9.3.1 根据设定的哈希函数H(k)和处理冲突的方法,将一组关键 字映象到一个有限的地址区间上,并以关键字在地址区间中的映 象作为记录在表中的存储位置,这种表称为哈希表或散列表,所 得存储位置称为哈希地址或散列地址。 设K1和K2为关键字, 若K1≠K2,H(K1)=H(K2),则称 K1,K2为同义词,K2与K1为发生了冲突 例 设 H(k)=k%17 k1=5 k2=22 ∵ H(5)=5%17=5 H(22)=22%17=5 H(5)=H(22)=5 ∴ 5和22是同义词,5和22发生冲突 9.3.2 构造哈希函数的方法 1.直接定址法 取关键字或关键字的某个线性函数值为哈希地址 H(key)=key H(key)=a.key+b 例1 人口统计表 例2 学生成绩表 例3 标识符表 2.除留余数法 设哈希表HT[0..m-1]的表长为m,哈希地址为key除以p 所的的余数: H(key)=key MOD p //PASCAL语言 H(key)=key % p //C语言 其中:MOD,%为取模或求余 p=m ,p为

文档评论(0)

1亿VIP精品文档

相关文档