从哈希函数出发,一文告诉你哈希思想与哈希表构造到底是什么_ABR:加密货币

作者:代号

来源:CSDN博客

编者注:原标题为《从哈希函数、哈希冲突、开散列出发,一文告诉你哈希思想与哈希表构造到底是什么》

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

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

哈希概念

报告:2022年31%的新加密投资者将”朋友推荐“作为购买原因:金色财经报道,根据金融业监管局投资者教育基金会(FINRA)和芝加哥大学 NORC 最近发布的一项联合研究,2022 年近三分之一(31%)的新加密投资者将“朋友推荐”作为购买的主要原因。相比之下,在股票和债券等更传统的资产中,新投资者的这一比例为 8%。根据该研究,这种差异表明“加密货币投资的社会因素在股票或债券投资中并不明显”。

FINRA 研究主管兼该报告的合著者 Gary Mottola 表示,这可能是一把“双刃剑”,一方面,加密货币可以成为更传统投资的入口——这通常是一个好的结果,但投资者可能不了解加密货币的风险和波动性,或者它如何适合多元化的投资组合。[2023/4/29 14:33:46]

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

加密投资管理平台Abra启动机构加密资产管理业务:1月15日消息,加密投资管理平台 Abra 宣布启动机构加密资产管理业务,同时他们将招聘首位机构加密交易策略主管,复制建立业务团队和交易基础设施,以进行不同策略投资(比如基差交易和其他套利机会)。Abra 首席执行官 Bill Barhydt 表示,Abra 将为机构客户提供定制的交易策略,推动提高投资收益,未来也会考虑使用该公司自己的资产进行自营交易。此外,Abra 正在考虑推出一个机构基金来运营客户资金,并拓展家族办公室等其他客户。[2022/1/15 8:51:08]

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

动态 | 证券投资公司ASI聘请前加密投资主管担任投资总监:苏格兰证券投资公司Aberdeen Standard Investments(ASI)已聘请加密资产公司Prime Factor Capital的前投资解决方案主管Adam Grimsley担任投资总监。(Investment Week)[2020/1/6]

哈希函数

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

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

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

插入及搜索元素

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

我们用除留余数法的哈希函数进行介绍:例:?现有1,3,4,5,6,9几个数进行储存,将n%10求模运算的结果作为哈希地址进行元素插入。

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

哈希冲突

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

如:

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

enumstate{EMPTY,FULL,DELETE};

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

开散列

开散列又称

链地址法,首先对关键码集合用哈希函数计算哈希地址,当具有相同地址的关键码时,将所有同一地址的元素,通过单链表的形式链接起来,

而各链表的头结点存储在哈希表中。

这下,你该了解哈希的思想和哈希表构造了吧?欢迎在评论区和我们分享你的想法!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-6:967ms