数据结构——使用C++语言描述 第2版 普通高等教育“十一五”国家级规划教材 江苏省高等学校精品教材 作者 陈慧南 数据结构A 第08章.pptVIP

  • 5
  • 0
  • 约3.94千字
  • 约 40页
  • 2015-12-10 发布于广东
  • 举报

数据结构——使用C++语言描述 第2版 普通高等教育“十一五”国家级规划教材 江苏省高等学校精品教材 作者 陈慧南 数据结构A 第08章.ppt

数据结构 第8章 跳表和散列表 8.1 字典 字典 是记录的集合。 有重复记录的字典 允许字典中有多个相同关键字值的记录,在实现搜索、插入和删除操作时需要一个规则来消除歧义。 8.3 散 列 表 8.3.1 散列技术 散列表是表示集合和字典的另一种有效方法。它提供了一种完全不同的存储和搜索方式:通过将关键字值映射到表中某个位置上来存储元素,而后根据关键字值直接访问。 Loc(key)=h(key) 其中,Loc(key)表示关键字值为key的元素的存储位置。 (1)这个把关键字值映射到位置的函数h称为散列函数; (2)这样建立的表称为散列表。 8.3.2 散列函数 8.3.3 拉链法 解决冲突也称为“溢出”处理技术。有两种常用的解决冲突的方法:拉链的方法和开地址法。拉链的方法也称开散列法,而开地址法又称闭散列法。 采用拉链的方法建立散列表,在极端情况下,散列表中全部为同义词,所以,最坏情况下,为了搜索一个关键字值,需检查全部n个元素。一般情况下有n个元素的散列表的链表的平均长度为n/M。 8.3.4 开地址法 地址h(key)被称为基位置 探查表中空闲位置的探查序列形如: h(key),(h(key)+p(1))mod M,?, (h(key)+p(i))mod M,? 根

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档