第九章 查找(3)培训讲学.pptVIP

  • 0
  • 0
  • 约小于1千字
  • 约 22页
  • 2019-12-01 发布于天津
  • 举报
第九章 查找(3);主要内容;4、哈希表;4.1 哈希表是什么?;但是,对于动态查找表而言, 1)表长不确定; 2)在设计查找表时,只知道关键字所属范围,而不知道确切的关键字。 因此在一般情况下,需在关键字与记录在表中的存储位置之间建立一个函数关系,以 f(key) 作为关键字为 key 的记录在表中的位置,通常称这个函数 f(key) 为哈希函数。;{Zhao, Qian, Sun, Li, Wu, Chen, Han, Ye, Dei} ;1) 哈希函数是一个映象,即: 将关键字的集合映射到某个地址集合上,它的设置很灵活,只要这个地址集合的 大小不超出允许范围即可; 由于哈希函数是一个压缩映象,因此,在一般情况下,很容易产生“冲突”现象,即: key1? key2,而 f(key1) = f(key2)。 3) 很难找到一个不产生冲突的哈希函数。 一般情况下,只能选择恰当的哈希函数,使冲突尽可能少地产生。; 因此,在构造这种特殊的“查找表” 时,除了需要选择一个“好”(尽可能少产生冲突)的哈希函数之外;还需要找到一种“处理冲突” 的方法。;哈希表的定义:;4.2 哈希函数的构造方法;除留余数法;实际造表时,采用何种构造哈希函数的方法取决于建表的关键字集合的情况(包括关键字的范围和形态),总的原则是使产生冲突的可能性降到尽可能地小。 ;4.3 处理冲突的方法;1.

文档评论(0)

1亿VIP精品文档

相关文档