联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

HASH GAME - Online Skill Game ET 300数据结构构哈希表ppt

发布时间:2025-06-10 14:34:45  点击量:

  HASH GAME - Online Skill Game GET 300

HASH GAME - Online Skill Game GET 300数据结构构哈希表ppt

  上章回顾 ◎常见的排序算法有哪些 其中那种算法的效率最高 ◎对大量的数据进行排序的化最好使用那种排 序算法 第七章 哈希泰 预习检查 e哈希表的定义 处理冲突的方法有那些 本章结构 什么是哈希表 哈希表 哈希函数的构造方法 处理冲突的方法 课程目标 e了解什么是哈希表 ◎掌握如何构造哈希函数 e处理冲突的方式 e哈希表的查找及分析 7.1哈希表 哈希表又称散列表。 哈希表存储的基本思想是:以数据表中的每个记录的关 键字k为自变量,通过一种函数H(K)计算出函数值。把这个 值解释为一块连续存储空间(即数组空间)的单元地址(即下 标),将该记录存储到这个单元中。在此称该函数H为哈希函 数或散列函数。按这种方法建立的表称为哈希表或散列表。 2013-7-27 7.1哈希表 例如,要将关键字值序列(3,15,22,24),存储到编号为0到4的表 长为5的哈希表中 计算存储地址的哈希函数可取除5的取余数算法H(k)k%5。则构造好的 哈希表如图所示。 15 2013-7-27 7.1哈希表 理想情况下,哈希函数在关键字和地址之间建立了一个一一对应关系, 从而使得查找只需一次计算即可完成。由于关键字值的某种随机性,使 得这种一一对应关系难以发现或构造。因而可能会出现不同的关键字对 应一个存储地址。即k1≠k2,但H(k1)H(k2),这种现象称为冲突 把这种具有不同关键字值而具有相同哈希地址的对象称“同义词 在大多数情况下,冲突是不能完全避免的。这是因为所有可能的关键字 的集合可能比较大,而对应的地址数则可能比较少。 对于哈希技术,主要研究两个问题 (1)如何设计哈希函数以使冲突尽可能少地发生。 (2)发生冲突后如何解决。 2013-7-27 7.1.1哈希函数的构造方法 构造好的哈希函数的方法,应能使冲突尽可能地少,因而 应具有较好的随机性。这样可使一组关键字的散列地址均匀地 分布在整个地址空间。根据关键字的结构和分布的不同,可构 造出许多不同的哈希函数 1.直接定址法 直接定址法是以关键字k本身或关键字加上某个数值常量c 作为哈希地址的方法。该哈希函数H(k)为 H(k)=k+(c≥0) 这种哈希函数计算简单,并且不可能有冲突发生。当关键 字的分布基本连续时,可使用直接定址法的哈希函数。否则, 若关键字分布不连续将造成内存单元的大量浪费。 2013-7-27 7.1.1哈希函数的构造方法 例:统计某地区从1949年到1995年每年出生的人数,列在一张表中 年份为关键字,因共有47年,所以表中位置范围是1~47 设置Hk)=k-1948即可,其中k为年份数 这样的哈希表示意如下: 1949 1950 1995 人数 若要查1970年的出生人数,则根据(1970-1948=22) 计算,在表的第2个位置即可找到。 2013-7-27

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: