计算机软件基础-第八章 查找.pptVIP

  • 4
  • 0
  • 约5.29千字
  • 约 43页
  • 2018-12-26 发布于湖南
  • 举报
8.4 哈希查找(散列查找) 前述的查找方法建立在“比较”的基础上,查找的次数依赖于查找过程中进行比较的次数。 问题:能否不用比较就能直接计算出记录的存储地址,从而找到所要的结点? ----采用散列(hash)方法。 8.4.1.哈希(散列)表的基本概念 1.哈希(又称杂凑、散列)的基本思想: 以结点的关键值k为自变量,通过一定的函数关系h计算出对应的函数值h(k),把这个值解释为结点的存储地址(哈希地址),将结点存入该地址中去。 2.函数h---哈希函数 h(k)---哈希地址 3.基本区---分配给哈希表的连续存储空间。 4.冲突的概念: 若对于不同的关键值k1和k2,且k1k2,但 h(k1)=h(k2),即具有相同的散列地址,称为冲突。 5.同义词:发生冲突的两个或多个关键值。 6.哈希(散列)表: 是根据设定的哈希(散列)函数和相应解决冲突的方法,为一组结点建立的一张表。表中的结点的存储位置依赖于设定的哈希(散列)函数和处理冲突的方法。 散列表和查找 问题:如何选择一个好的散列函数? 即主要考虑: (1)能将关键值均匀地分布在整个地址空 间,使冲突机会尽量少。 (2)同时选定一个解决冲突的办法(即如 何存储冲突的同义词)。 * * * 第八章 查找 Chapter 8

文档评论(0)

1亿VIP精品文档

相关文档