chap09索引与散列知识讲解.pptVIP

  • 8
  • 0
  • 约2.05万字
  • 约 97页
  • 2020-06-12 发布于天津
  • 举报
9.4.1 散列技术 散列(hash),也称哈希、杂凑 它既是一种查找方法,又是一种存储方法,称为散列存储。基于散列技术的存储结构称为散列表或哈希表(hash table)。它是一种动态索引技术 散列查找,与前面介绍的查找方法完全不同,前面介绍的所有查找都是基于待查关键字与集合中元素进行比较而实现的 那么有没有一种方法根据待查关键字本身的特点,就能直接获得记录的存储地址呢? 答案是肯定的,这就是散列技术。理想情况下它能使我们只读一次磁盘便能把记录读入内存,获得O(1)阶的查找效率 P251 散列查找18-1 散列查找是一种通过构造散列函数得到待查关键字的地址的查找方法 它的基本思想是:以记录的关键字k为自变量,通过一个确定的函数关系,计算出对应的函数值H(k),把这个值作为记录的内存或外存地址 查找时也是根据这个函数计算存储位置 通常散列存储区是一块连续的内存空间,可以用一个一维数组(或链表)表示,散列地址便是数组的下标 散列查找18-2 下面举个例子 假设有一个关键字序列为{ 18, 75, 60, 43, 54, 90, 46 },给定散列函数H(k)=k%13,存贮区的大小为16,则可以得到每个关键字的散列地址为: H(18)=18%13=5, H(75)=75%13=10, H(60)=60%13=8, H(43)=43%13=4, H(54)=54%13=2

文档评论(0)

1亿VIP精品文档

相关文档