知识库 人物 历史 地理 自然 文化 艺术 社会 科学 技术 教育 生活 体育 企业 银行 组织 官职 外交 联合国 博物馆 基金会 纪念馆 军事组织 组织机构 职能部门 诺贝尔奖 汉族 民俗 风俗 婚俗 姓氏 习俗 百家姓
  哈希表           

哈希表

一般的线性表、树中,记录在结构中的相对位置是随机的即和记录的关键字之间不存在确定的关系,在结构中查找记录时需进行一系列和关键字的比较。这一类查找方法建立在“比较”的基础上,查找的效率与比较次数密切相关。理想的情况是能直接找到需要的记录,因此必须在记录的存储位置和它的关键字之间建立一确定的对应关系f,使每个关键字和结构中一个唯一的存储位置相对应。因而查找时,只需根据这个对应关系f找到给定值K的像f(K)。若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上,由此不需要进行比较便可直接取得所查记录。在此,称这个对应关系f为哈希函数,按这个思想建立的表为哈希表(又称为杂凑法或散列法)。

哈希表不可避免冲突(collision)现象:对不同的关键字可能得到同一哈希地址 即key1≠key2,而f(key1)=f(key2)。具有相同函数值的关键字对该哈希函数来说称为同义词(synonym)。 因此,在建造哈希表时不仅要设定一个好的哈希函数,而且要设定一种处理冲突的方法。可如下描述哈希表:根据设定的哈希函数H(key)和所选中的处理冲突的方法,将一组关键字映象到一个有限的、地址连续的地址集(区间)上并以关键字在地址集中的“象”作为相应记录在表中的存储位置,这种表被称为哈希表。


对于动态查找表而言,1) 表长不确定;2)在设计查找表时,只知道关键字所属范围,而不知道确切的关键字。因此,一般情况需建立一个函数关系,以f(key)作为关键字为key的录在表中的位置,通常称这个函数f(key)为哈希函数。(注意:这个函数并不一定是数学函数)

哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可。

现实中哈希函数是需要构造的,并且构造的好才能使用的好。

用途:加密,解决冲突问题。。。。
用途很广,比特精灵中就使用了哈希函数,你可 以自己看看。
具体可以学习一下数据结构和算法的书。

上一篇:知识:黄鲁  下一篇:知识:王昌太
∷排行知识文章∷ ∷推荐知识文章∷
· 霞石正长岩
·
· 卢春生
· 未来少年柯南
· 沟满濠平
· 朱干跬
·
· 萃取因素
· 千层泡菜烩鸡
·
· 董树屏
· 武宁县第一中学
· 三个生意人之旅
· 莫莫格
· 雅各布·祖马
· 散射截面
· 吕梁山森林公园
· 六重唱
· 萧忠谓
· 虎鲸
· 尼米希依提
· 香辣拌苦瓜
· Ghosts
· 遵义晚报
Copyright © 2006-2008 版权所有 中华知识库
本站资源均来源于网络,如侵犯了您的版权,请来信告知,我们将立即改正!
信箱: QQ:26655353 粤ICP备05006761号

 股票 贸易 钱币 铸币 税收 营销 证券 流行 另类 涂鸦 饰品 模特 茶道 纹身 手绘 暴走 自拍 品牌