尖扎| 潼关| 台前| 抚松| 炎陵| 屯留| 通河| 高港| 三都| 天水| 桃园| 峰峰矿| 运城| 临潼| 蓝山| 福山| 泰来| 婺源| 平果| 资源| 大余| 合阳| 盘县| 张湾镇| 阳原| 保德| 南和| 盐亭| 吐鲁番| 平乐| 大通| 通辽| 太仆寺旗| 通河| 山丹| 扬州| 灵璧| 霍邱| 太仓| 楚雄| 磴口| 龙岩| 九台| 衡阳县| 南京| 威县| 连南| 固镇| 莘县| 济阳| 石门| 永丰| 通山| 仙游| 垦利| 滴道| 亚东| 嘉祥| 云安| 舒城| 嘉义市| 库车| 上虞| 天门| 朝阳县| 揭东| 平川| 广饶| 孟津| 通江| 英吉沙| 绥化| 凯里| 淳化| 石龙| 新乡| 蕲春| 东山| 乌兰浩特| 临川| 上虞| 芜湖县| 云梦| 禹城| 富民| 三门| 石家庄| 杭州| 兰州| 和顺| 原平| 浮梁| 翼城| 沁阳| 垦利| 清河门| 乌马河| 博兴| 翼城| 五台| 石嘴山| 昆明| 嘉定| 汶上| 营山| 安塞| 凤城| 清水| 阿拉善左旗| 冠县| 高台| 华亭| 清苑| 南昌市| 昌乐| 独山| 思茅| 吉木乃| 安福| 铜山| 紫金| 汝州| 郴州| 公安| 肥城| 长岭| 大丰| 南充| 富源| 南雄| 长安| 湛江| 兴城| 甘南| 商城| 洛隆| 府谷| 瑞安| 临澧| 大洼| 峡江| 通榆| 普洱| 阿合奇| 德安| 商水| 吴中| 岢岚| 本溪市| 肥东| 神农顶| 长沙| 巨鹿| 如皋| 七台河| 平南| 庄河| 铁山港| 贡嘎| 建湖| 蒲城| 屯昌| 德昌| 大丰| 乌马河| 崇明| 永城| 龙胜| 镇宁| 泗洪| 丰镇| 资兴| 襄樊| 赵县| 饶阳| 中江| 吉木萨尔| 凭祥| 新郑| 巴中| 襄汾| 新宾| 神农架林区| 当阳| 鄂伦春自治旗| 万荣| 弥渡| 汤原| 陵县| 浏阳| 永平| 陵县| 长子| 三河| 石首| 晋州| 崇义| 科尔沁左翼后旗| 新都| 孟州| 锦州| 涠洲岛| 吴川| 丰润| 山阳| 富源| 基隆| 石龙| 同德| 新青| 天门| 泉港| 茶陵| 缙云| 云南| 海阳| 乌达| 多伦| 安西| 昔阳| 民乐| 抚顺县| 长春| 镇平| 灵丘| 白云| 蒙自| 交口| 仙游| 翁牛特旗| 甘棠镇| 博兴| 南雄| 昌邑| 澄迈| 鄯善| 米易| 白城| 花莲| 大冶| 盐津| 罗平| 达尔罕茂明安联合旗| 沧州| 合水| 宁海| 汤原| 大悟| 张北| 保亭| 凌海| 平武| 淳化| 襄垣| 精河| 久治| 焦作| 杭锦旗| 富顺| 临湘| 宁远| 河池| 兴城| 金坛| 百度
我已授权

注册

一文告诉你哈希思想与哈希表构造到底是什么

2020-04-07 12:04:17 和讯区块链 
百度 这场比赛的出场队员都曾经是利物浦和拜仁的老队员,而在利物浦这一边更是不乏“传奇卡”的到来。

  Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。

  今天我们就一起来探索一下,哈希最底层的奥秘。

  哈希概念

  构造一种储存结构,通过某种函数,使得其元素的储存位置与他的关键码之间能够建立一一映射关系,那么在查找时通过该函数很快找到相应元素。

  简言之,就是设定某一固定函数(hashFunc),通过此函数来使插入元素的值与元素位置相对应,往后我们需要查找此元素时就可以通过此函数(hashFunc)找到该值。

  哈希函数

  散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。

  该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。

  哈希函数使得计算出来的地址均匀分布在整个空间。

  插入及搜索元素

  根据待插入元素的关键码,根据哈希函数计算出其存储位置。

  我们用除留余数法的哈希函数进行介绍:

  例: 现有 1 ,3,4,5,6,9几个数进行储存,将n%10求模运算的结果作为哈希地址进行元素插入。

一文告诉你哈希思想与哈希表构造到底是什么

  若想查找某一元素时,则只需要对查找元素进行哈希函数运算,得到其存放地址,就能找到该元素。

  哈希冲突

  当出现插入一个元素,其根据哈希函数计算出的地址,已经被其他元素占用的情况称为哈希冲突。

  如:

  为了能更好的识别当前位置是否被占用,我们需要对每个位置进行标记

一文告诉你哈希思想与哈希表构造到底是什么

  注意:如果我们要删除某一元素时,不能将其直接删除,如果直接删除,会对当前结构产生影响,导致其他元素的搜索出错,所以当我们要删除一个元素时,需要将其标记为删除,而非空。

一文告诉你哈希思想与哈希表构造到底是什么

  开散列

  开散列又称链地址法,首先对关键码集合用哈希函数计算哈希地址,当具有相同地址的关键码时,将所有同一地址的元素,通过单链表的形式链接起来,而各链表的头结点存储在哈希表中。

一文告诉你哈希思想与哈希表构造到底是什么

  这下,你该了解哈希的思想和哈希表构造了吧?

  本文来源:区块链大本营,不代表和讯网官方观点。

(责任编辑:张雅洁 HF083)
看全文
写评论已有条评论跟帖用户自律公约
提 交还可输入500

最新评论

查看剩下100条评论

和讯热销金融证券产品

【免责声明】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

天桥小区社区 坪村 尹江岸新村 郎家庄乡 万新街天山南路万隆花园小区六区 财贸学校 京沪路办事处 石狮市烟草专卖局 卓湖村 和尚桥镇 排山镇 北兵马司 金华商校 社山村 张铺镇 甘泉新村 明水镇 肖家坪 赤水溪村 九兴大道创业路口
思模村 中门寺生态园 黄旗岭 唐家浜桥 城关乡 磻溪村 西区大道 柴林花园 嘉山 沙金套海苏木
百度