哈希表的平均查找长度 哈希表ASL计算平均长度
- 前端设计
- 2023-08-29
- 77
大家好,关于哈希表的平均查找长度很多朋友都还不太明白,今天小编就来为大家分享关于哈希表ASL计算平均长度的知识,希望对各位有所帮助!什么是哈希数hash,一般翻译为散列...
大家好,关于哈希表的平均查找长度很多朋友都还不太明白,今天小编就来为大家分享关于哈希表ASL计算平均长度的知识,希望对各位有所帮助!
什么是哈希数
hash,一般翻译为散列、杂凑,或者音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间。
它其实就是一个算法,最简单的算法就是加减乘除,比方,我设计个数字算法,输入+7=输出,比如我输入1,输出为8;输入2,输出为9。
哈希算法不过是一个更为复杂的运算,它的输入可以是字符串,可以是数据,可以是任何文件,经过哈希运算后,变成一个固定长度的输出,该输出就是哈希值。但是哈希算法有一个很大的特点,就是你不能从结果推算出输入,所以又称为不可逆的算法。
sha1哈希值和md5哈希值的长度
SHA-1算法的哈希值大小为160位,其计算输出长度为40位。
MD5算法的哈希值大小为128位,其计算输出长度为32位。
哈希值是什么
应该是哈希值
哈希值是一种将任意长度的数据映射为固定长度数值的算法。哈希算法是一种高效的加密方法,通过对数据进行哈希值计算,可以将其转换为一串唯一的数值,使得不同的数据具有不同的哈希值,相同的数据则具有相同的哈希值。
哈希值可以用于数据的身份验证
哈希查找中平均查找长度怎么算
先建好表,然后可以算出每个位置不成功时的比较次数之和,再除以表空间个数!
例如:散列函数为hash(x)=xMOD13,用线性探测,建立了哈希表之后,如何求查找不成功时的平均查找长度!?
查找成功时的平均查找长度:ASL=(1+3+1+2+2+1+1+9+1+1)/10=2.2
查找不成功时的平均查找长度:ASL=(9+8+7+6+5+4+3+2+1+1+2+1+10)/13=4.54
说明:
第n个位置不成功时的比较次数为,第n个位置到第1个没有数据位置的距离。至少要查询多少次才能确认没有这个值。
(1)查询hash(x)=0,至少要查询9次遇到表值为空的时候,才能确认查询失败。
(2)查询hash(x)=1,至少要查询8次遇到表值为空的时候,才能确认查询失败。
(3)查询hash(x)=2,至少要查询7次遇到表值为空的时候,才能确认查询失败。
(4)查询hash(x)=3,至少要查询6次遇到表值为空的时候,才能确认查询失败。
(5)查询hash(x)=4,至少要查询5次遇到表值为空的时候,才能确认查询失败。
(6)查询hash(x)=5,至少要查询4次遇到表值为空的时候,才能确认查询失败。
(7)查询hash(x)=6,至少要查询3次遇到表值为空的时候,才能确认查询失败。
(8)查询hash(x)=7,至少要查询2次遇到表值为空的时候,才能确认查询失败。
(9)查询hash(x)=8,至少要查询1次遇到表值为空的时候,才能确认查询失败。
(10)查询hash(x)=9,至少要查询1次遇到表值为空的时候,才能确认查询失败。
(11)查询hash(x)=10,至少要查询2次遇到表值为空的时候,才能确认查询失败。
(12)查询hash(x)=11,至少要查询1次遇到表值为空的时候,才能确认查询失败。
(13)查询hash(x)=12,至少要查询10次遇到表值为空(循环查询顺序表)的时候,才能确认查询失败。
在哈希表中查找成功和不成功时的平均查找长度如何计算
不知道你说的是什么平均查找长度,一般考试会考哈希表的,因为其他的更简单。
对于含有n个数据元素的查找表,查找成功的平均查找长度为:ASL=∑PiCi(i=1,2,3,…,n)。其中:Pi为查找表中第i个数据元素的概率,Ci为找到第i个数据元素时已经比较过的次数。
已知一个待散列存储的线性表为(38,25,74,63,52,48),散列函数为H(k)=kmod7,若采用线性探测的开放地址法处理冲突,则平均查找长度为:
ASL=p1c1+p2c2+p3c3+.......
也可以表示为
ASL=1/n(c1+c2+c3+....)
其中c是每个数查询的次数
按照H(K)=kmod7得:
38----1
25----1
74----2
63----1
52----4
48----3
所以ASL=1/6(1+1+2+1+4+3)=2
哈希值,具体是什么意思
哈希值是指对于任意长度的输入数据,在计算过程中通过特定算法所得到的输出值。它具有唯一性、固定性和不可逆性的特点。这样的特性使得哈希值经常被用于密码学、数字签名、数据校验等领域。比如在密码学中,用户密码不会被存储在服务器上,而是存储哈希值,当用户登录时,输入密码并计算哈希值,与服务器上存储的哈希值比较,如果相同则验证通过。除此之外,哈希值还可以被应用于数据的唯一标识和比较,比如检测两个文件是否相同,只需比较它们的哈希值是否相等即可。总之,哈希值是一种重要的加密和校验手段,具有广泛的应用和前景。
OK,关于哈希表的平均查找长度和哈希表ASL计算平均长度的内容到此结束了,希望对大家有所帮助。
本文链接:http://www.xinin56.com/qianduan/12166.html