社区
C语言
帖子详情
想问大家一个散列表的问题。
zhangxh19870612
2009-05-27 11:13:47
今天在学散列函数,看到这样一句话:
① h:U→{0,1,2,…,m-1} ,通常称h为散列函数(Hash Function)。散列函数h的作用是压缩待处理的下标范围,使待处理的|U|个值减少到m个值,从而降低空间开销。
我不明白,把关键字都映射到散列表上,这样散列表的大小和关键字集合的大小应该是一样的啊,为什么会说散列表的大小小于关键字集合的大小呢?请大家帮我解答下,谢谢。
...全文
135
7
打赏
收藏
想问大家一个散列表的问题。
今天在学散列函数,看到这样一句话: ① h:U→{0,1,2,…,m-1} ,通常称h为散列函数(Hash Function)。散列函数h的作用是压缩待处理的下标范围,使待处理的|U|个值减少到m个值,从而降低空间开销。 我不明白,把关键字都映射到散列表上,这样散列表的大小和关键字集合的大小应该是一样的啊,为什么会说散列表的大小小于关键字集合的大小呢?请大家帮我解答下,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dongpy
2009-05-28
打赏
举报
回复
散列函数将关键字转化成索引值来访问散列表,多个关键字对应一个索引值,从而降低空间开销。
crst_zh
2009-05-28
打赏
举报
回复
散列不是一一对应,既可以把 把多的映射到少的区间,也可以把少的映射到多的区间,在映射之后有一个映射函数,可以直接去寻址。
多的对应到少的区间必然会出现冲突,这就要用冲突消解的办法,比如开放地址法,再散列等等。
Treazy
2009-05-28
打赏
举报
回复
输入一个Key 经过散列函数产生一个 散列表Key
由于不同的Key 经过散列函数可能会产生相同的 散列表Key
因此经过散列函数的产生的散列表,其大小肯定小于等于Key的大小
光宇广贞
2009-05-28
打赏
举报
回复
我也不明白,
看楼下,从我这里开始站队。
mengde007
2009-05-28
打赏
举报
回复
搞了半天还是没明白过来;
liliangbao
2009-05-28
打赏
举报
回复
帮顶
zhangxh19870612
2009-05-28
打赏
举报
回复
如果是多个关键字经散列函数映射是同一地址的话,这个就叫冲突吧?这个不是根据解决冲突的方法,把他们另外安排到其他的地方吗?这样的话,关键字的大小还是和散列表一样的啊应该,这是怎么回事呢?这个问题我都想了很久了,不知道是怎么回事。
关于
散列表
的大小设定
数据库课上老师提出的
问
题
,大意是给
一个
集合S,给
一个
散列函数和相应的
散列表
,长为m,从S映射到表,
问
使得给
一个
x,通过
散列表
判断其不在S中的概率小于0.05,这个m该是多少? 老师说这个
问
题
是美国大学生都会证的
问
题
,这也是中国大学生研究生缺乏的思考能力。 我完全没头绪。。只是在
想
这跟m有什么关系,下课后也没找到合适的资料。这里整理一下我查到的一些关于哈希表的长度设定
问
题
的英文资料和机翻。
想
看知...
深入理解散列函数和
散列表
首先,先说明
一个
问
题
,大部分人都会混淆的概念,那就是散列函数和
散列表
的概念。其实,散列函数和
散列表
是两种东西,我本人之前一直认为散列函数和
散列表
是一种东西,所以我
想
应该有很多人也这样认为,所以先来澄清这个概念。 散列函数 先来说散列函数,散列函数本质上,是个数学
问
题
,散列函数有几个性质: 1.散列函数的输入域应该是无穷。 2.散列函数的输出域不是无穷,但是会分布到
一个
比较大的范围区间。 3.相同的输入,必定会映射到相同的输出。 4.既然输入域无穷大,输入域有限大小,那么,必然会发生碰撞,也就是,不同的输入经
散列表
(哈希表)概述
散列表
、哈希表、Hash Table、散列冲突、哈希冲突、散列函数、哈希函数、直接定址法、数字分析法、平方取中法、折叠法、除留余数法、随机数发、处理冲突的方法、开放定址法、再散列函数法、链地址法、公共溢出区法、
散列表
查找性能分析
《数据结构与算法》(二十)-
散列表
查找
目录前言1.
散列表
查找(哈希表)概述1.1
散列表
查找定义1.2
散列表
查找步骤2. 散列函数的构造方法2.1 直接定址法2.2 数字分析法2.3 平方取中法2.4 折叠法2.5 除留余数法2.6 随机数法3. 处理散列冲突的方法3.1 开放定址法3.2 再散列函数法3.3 链地址法3.4 公共溢出区法4.
散列表
查找的实现4.1
散列表
查找的算法实现4.2
散列表
查找性能分析5. 总结 前言 部分内容摘自程杰的《大话数据结构》 1.
散列表
查找(哈希表)概述 在前面的顺序表查找中,我们曾经说过,如
散列表
:从原理到Java实例
起源:符号表 学习
散列表
之前,我们先来了解一下
散列表
是什么,它有什么用。
散列表
是符号表的其中
一个
实现方式(其它的实现方式有例如红黑树),那么
问
题
就变成了符号表是什么,它又有什么用,符号表用于实现如下功能: 需要将两个元素进行关联存储(两个元素分别称为“键”和“值”),并且需要根据“键”获取对应“值”。 举几个例子来说明一下,例如投票,我们会记录候选人(或者候选项)的名字及其对应的票数,每读取一张选票,就找到选票上写的候选人的名字,将他的得票数加一,投票结束,我们会公布得票数最高的候选人,或者公布所有候选人的
C语言
69,377
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章