《数据结构(C语言版)》教学课件 项目七.pptVIP

  • 0
  • 0
  • 约9.17千字
  • 约 67页
  • 2021-07-20 发布于湖北
  • 举报

《数据结构(C语言版)》教学课件 项目七.ppt

四、哈希表的查找及分析 1.算法描述 2.性能分析 1.算法描述 基本思想:根据选定的哈希函数计算出给定值的哈希地址,若该地址上没有数据元素,则查找不成功;如果哈希表中该地址上的数据元素的关键字与给定值相等,则查找成功;否则,按处理冲突的方法计算下一个哈希地址,重复上述过程,直至所得哈希地址单元为空或者找到关键字与给定值相等的数据元素为止。 哈希表上进行查找的过程与哈希表的创建过程基本一致。 2.性能分析 影响哈希表中关键字比较次数的因素有三个:哈希函数、处理冲突的方法以及哈希表的装填因子。 假设哈希函数都是均匀的,因此,只需考虑后两个因素的影响。 (1)不同的处理冲突的方法对查找效率的影响 (2)不同的装填因子对查找效率的影响 (1)不同的处理冲突的方法对查找效率的影响 链地址法的冲突处理方法的查找效率要高于线性探测再散列法,这是因为线性探测再散列法在处理冲突过程中易出现“二次聚集”。 例如,用线性探测再散列法和链地址法处理关键字集{59, 31, 3, 14, 27, 41, 10, 95, 67}的平均查找长度。 线性探测再散列法的平均查找长度为: 链地址法的平均查找长度为: (2)不同的装填因子对查找效率的影响 对采用同一处理冲突方法的同一哈希函数,其平均查找长度依赖于哈希表的装填因子。 定义 几种不同处理冲突方法的平均查找长度如下表所示:

文档评论(0)

1亿VIP精品文档

相关文档