哈希

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: hash,一般翻译为散列,也名哈希哈希的描述:把任意长度的输入通过哈希算法变换为固定长度的输出,输出称为哈希值(散列值)。通过同一哈希函数计算出的哈希值如果不同,那么输入值肯定也不同通过同意哈希函数计算出的哈希值如果相同,那么输入值不一定相同两个不同的输入值通过相同的哈希函数计算出相同的哈希值,这种现象称为碰撞。

hash,一般翻译为散列,也名哈希

哈希的描述:把任意长度的输入通过哈希算法变换为固定长度的输出,输出称为哈希值(散列值)。
  • 通过同一哈希函数计算出的哈希值如果不同,那么输入值肯定也不同
  • 通过同意哈希函数计算出的哈希值如果相同,那么输入值不一定相同
两个不同的输入值通过相同的哈希函数计算出相同的哈希值,这种现象称为碰撞。

衡量一个哈希函数好坏的重要标准,就是发生碰撞的概率及发成碰撞的解决方法。
任何哈希函数基本都无法彻底避免碰撞。

常见的解决碰撞的方法有一下几种:
  • 开放定址法
  • 链地址法
  • 再哈希法
  • 建立公共溢出区
1.开放定址法

一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入

2.链地址法

将哈希表的每个单元作为链表的头结点,所有哈希地址为i的元素构成一个同义词链表。即发生冲突时就把该关键字链在以该单元为头结点的链表的尾部

3.再哈希法

当哈希地址发生冲突用其他的函数计算另一个哈希函数地址,直到冲突不再产生为止

4.建立公共溢出区

将哈希表分为基本表和溢出表两部分,发生冲突的元素都放入溢出表中

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
2月前
|
存储 安全 算法
散列哈希
【10月更文挑战第16天】
|
7月前
|
存储 索引
哈希表刷题总结
哈希表刷题总结
39 1
|
存储 缓存 算法
一篇文章让你学会什么是哈希(上)
哈希概念 哈希在C++中有广泛的应用,它是一种用于快速查找和存储数据的数据结构和算法。以下是一些常见的哈希在C++中的应用: 哈希表(Hash Table):哈希表是一种高效的数据结构,用于存储键值对。在C++中,std::unordered_map 和 std::unordered_set 是标准库提供的哈希表实现。
|
8月前
|
存储 C++
哈希的开放定址法的实现【C++】
哈希的开放定址法的实现【C++】
126 2
|
存储 Serverless C++
哈希(C++)上
哈希(C++)
90 0
多阶哈希
多阶哈希
167 0
|
8月前
|
存储 Serverless C++
哈希的简单介绍
哈希的简单介绍
77 0
|
8月前
|
存储 缓存 Java
哈希表超详解
哈希表超详解
100 0
|
8月前
|
存储 算法 测试技术
C++ 哈希 开放定址法
C++ 哈希 开放定址法
|
8月前
|
存储 Serverless 测试技术
C++【初识哈希】
C++【初识哈希】
69 0