发布时间:2025-04-29 09:44:32 点击量:
HASH GAME - Online Skill Game GET 300
、哈希表的概念 哈希表:也称作散列存储结构。 散列法存储的基本思想:建立关键码字与其存储位置的对应 关系,或者说,由关键码的值决定数据的存储地址。 优点:查找速度极快(0(1),查找效率与元素个数n无关! 例1:若将学生信息按如下方式存入计算机,如 将01的所有信息存入V[01单元; 将02的所有信息存入V[02单元; 将31的所有信息存入V31单元。 欲查找学号为16的信息,便可直接访问V[16]!
2 一、哈希表的概念 哈希表:也称作散列存储结构。 散列法存储的基本思想:建立关键码字与其存储位置的对应 关系,或者说,由关键码的值决定数据的存储地址。 优点:查找速度极快(O(1)),查找效率与元素个数n无关! 例1:若将学生信息按如下方式存入计算机,如: 将01的所有信息存入V[01]单元; 将02的所有信息存入V[02]单元; …… 将31的所有信息存入V[31]单元。 欲查找学号为16的信息,便可直接访问V[16]!
例2:有数据元素序列(14,23,39,9,25,11),若规定 每个元素k的存储地址H(k)=k,请画出存储结构图。 H(k)称为散列函数 解:根据散列函数H(k)=k,可知元素14应当存入地址 为14的单元,元素23应当存入地址为23的单元, 对应散列存储表(哈希表)如下 地址∴.9.11..14.232425 39 内容 14 2325 39 讨论:如何进行散列查找? 根据存储时用到的散列函数H(k)表达式,迅即可查到结果! 例如,查找key=9则访问H(9)=9号地址,若内容为9则成功 若查不到,应当设法返回一个特殊值,例如空指针或空记录。 明显缺点:空间效率低《如何解决?
3 例2 :有数据元素序列(14,23,39,9,25,11),若规定 每个元素k的存储地址H(k)=k,请画出存储结构图。 解:根据散列函数H(k)=k ,可知元素14应当存入地址 为14的单元,元素23应当存入地址为23的单元,……, 对应散列存储表(哈希表)如下: 讨论:如何进行散列查找? 根据存储时用到的散列函数H(k)表达式,迅即可查到结果! 例如,查找key=9,则访问H(9)=9号地址,若内容为9则成功; 若查不到,应当设法返回一个特殊值,例如空指针或空记录。 地址 … 9 … 11 … 14 … 23 24 25 … 39 … 内容 9 11 14 23 25 39 明显缺点:空间效率低 如何解决? H(k)称为散列函数
Hash查找法若干术语 哈希方法选取某个函数,依该函数按关键字计算元素的存储位置 (杂凑法)并按此存放;查找时也由同一个函数对给定值k计算地址 将k与地址中内容进行比较,确定查找是否成功。 哈希函数哈希方法中使用的转换函数称为哈希函数(杂 杂凑函数)凑函数) 哈希表按上述思想构造的表称为哈希表(杂凑表) (杂凑表) 冲突通常关鍵码的集合比哈希地址集合大得多,因而经 过哈希函数变换后,可能将不同的关键码映射到同 个哈希地址上,这种现象称为冲突
4 选取某个函数,依该函数按关键字计算元素的存储位置 并按此存放;查找时也由同一个函数对给定值k计算地址, 将k与地址中内容进行比较,确定查找是否成功。 通常关键码的集合比哈希地址集合大得多,因而经 过哈希函数变换后,可能将不同的关键码映射到同 一个哈希地址上,这种现象称为冲突。 Hash查找法 哈希方法 (杂凑法) 哈希函数 (杂凑函数) 哈希表 (杂凑表) 冲 突 哈希方法中使用的转换函数称为哈希函数(杂 凑函数) 按上述思想构造的表称为哈希表(杂凑表) 若干术语