青少年信息学奥林匹克竞赛实战训练系列——高级数据结构-沈军.pdfVIP

青少年信息学奥林匹克竞赛实战训练系列——高级数据结构-沈军.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
第 章 哈 希 表       1 (, , , , , , ), , 如果要存储和使用线性表 1753244313539046 那么 只要定义一个一维数 [ ], [] 。 , “ 组 A 1..7 将表中元素按先后顺序存储在 A i中即可 但是 这样的存储结构会给 查找 ” () , , 。 , “ ” 算法 带来 的时间开销 尤其是 很大时 效率比较差 当然 也可以采用 二分查找 O n n 。 , () , 提高效率 反之 为了用 O 1的时间开销实现查找 可以分析这个线性表的元素类型和范 , [ ], [ ] , 围 定义一个一维数组 A 1..1353 使得 A ke =ke 即线性表的 ke 这个元素存储 y y y [ ] 。 , , , 在 A ke 中 然而这样一来 查找的时间效率高了 空间上的开销却大了 尤其是数据范围 y 。 , , ( ) 分布很广时 为了使空间开销减少 可以对这种方法进行优化 设计一个函数 hke =ke y y , [( )] , , [ ] mod13然后把 ke存储在A hhe 中 这样一来 只要定义一个一维数组 A 0..12就足 y y , “ ( )”。 够了 这种线性表的存储结构称为 哈希表 HashTable 。 哈希表是一种高效的数据结构 它的最大优点就是把数据存储和查找所消耗的时间大 , (), 。 大减少 几乎可以看成是 O 1 而代价是消耗比较多的内存 在当前竞赛可利用内存空间 、 ,“ ” 。 越来越多 程序运行时间控制得越来越紧的情况下 以空间换时间 的做法还是值得的 另 , 。 外 哈希表的编程复杂度比较低也是它的优点之一 1.1 哈希表的基本原理 , , 哈希表的基本原理是使用一个下标范围比较大的数组 来存储元素 设计一个函数 A h 对于要存储的线性表的每个元素 ,取一个关键字 ,算出一个函数值 ( ), node ke

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档