首页 > 其他分享 >哈希

哈希

时间:2023-05-25 20:58:50浏览次数:35  
标签:text 选取 模数 哈希 times mod

哈希

单模哈希

把一个字符串\(s_1-s_n\) 想成一个 \(n\) 位的 \(k\) 进制数,有一个模数

$ (s_1\times k^{n-1} + s_2\times k^{n-2} + s_n\times k) \ % \ \text{mod}$

模数选取:\(\text{mod}\) 选取 $ \approx 10^9$ 的质数

运算代价:较慢

冲突概率:最大

双模哈希

$ (s_1\times k^{n-1} + s_2\times k^{n-2} + s_n\times k) \ % \ \text{mod}$

$ (s_1\times k'^{n-1} + s_2\times k'^{n-2} + s_n\times k') \ % \ \text{mod}$

模数选取: \(\text{mod}\) 和 \(\text{mod'}\) 选取 $ \approx 10^9$ 的质数

运算代价:最慢

冲突概率:最小

自然溢出

unsigned long long,超过 \(2^{64}\) 会自然溢出到0

模数:\(2^{64}\)

运算代价:最快

冲突概率:较小

image-20221003112324562

标签:text,选取,模数,哈希,times,mod
From: https://www.cnblogs.com/bloodstalk/p/17432885.html

相关文章

  • 哈希算法
    哈希算法哈希算法哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希算法最重要的特点就是:相同的输入一定得到相同的输出;不同的输入大概率得到不同的输出。哈希算法的目的就是为了验证原始数据是否被篡改。Java字符串......
  • 特殊哈希表-原地哈希
    例题一链接:41.缺失的第一个正数题解一种简单的方法是利用map,但是空间复杂度不符合条件;另一种简单的方法是直接排序,但是时间复杂度不符合条件。于是我们结合两者,提出一种算法,姑且称之为·原地哈希·。该算法是基于比较的排序,不需要额外的空间:给定长度为N的数组,我们想将其变换为......
  • 不同路径 II(数组、动态规划)、同构字符串(哈希表、字符串)、颠倒二进制位(位运算、分
    不同路径II(数组、动态规划)一个机器人位于一个_mxn_网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网......
  • leetcode2215哈希列表的应用
    哈希列表存储的是不重复的元素,使用两个哈希列表存储这两个数组。再遍历其中一个哈希列表,查看是否存在另一个哈希列表中set.insert()set1.count(元素)for(intnum:nums1){set1.insert(num);}for(intnum:set1){if(!set2.count(num)){res[0].push_back(num);......
  • 哈希表简单应用—两数之和
    这是一个简单题,本质上直接暴力求解也可以了。但是主要记录下哈希表的应用。给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不......
  • 代码随想录算法训练营第7天 | ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和
     第三章 哈希表part02  今日任务  ●  454.四数相加II ●  383. 赎金信 ●  15. 三数之和 ●  18. 四数之和 ●  总结    详细布置   454.四数相加II  建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序......
  • 哈希表处理冲突的开放寻址法
    /**链结点,相当于是车厢*/publicclassNode{ //数据域 publicInfoinfo; //指针域 publicNodenext; publicNode(Infoinfo){ this.info=info; } } /**链表,相当于火车*/publicclassLinkList{ //头结点 privateNodefirst; public......
  • 代码随想录算法训练营第6天 | 哈希表理论基础, 242.有效的字母异位词, 349. 两个数组
     第三章 哈希表part01  今日任务  ●  哈希表理论基础 ●  242.有效的字母异位词 ●  349. 两个数组的交集 ●  202. 快乐数●  1. 两数之和     详细布置   哈希表理论基础  建议:大家要了解哈希表的内部实现原理,哈希函数,哈希......
  • 哈希表——创建,查找结点——C语言描述
    哈希表——创建,查找结点——C语言描述目录哈希表——创建,查找结点——C语言描述0测试用例框架1定义2数据结构2初始化哈希表与查找(1)代码(2)测试用例(3)打印结果0测试用例框架https://blog.csdn.net/m0_59469991/article/details/127137119?csdn_share_tail=%7B%22type%22%3A%22......
  • 一致性哈希(哈希环)解决数据分布问题
    哈希算法是程序开发过程中最广泛接触到的的算法之一,典型的应用有安全加密、数据校验、唯一标识、散列函数、负载均衡、数据分片、分布式存储。前些天遇到用一致性哈希(哈希环)的场景,不过我细想一下,对这个知识点好像了解过,但是又没太深印象,说不出具体是什么原理,怎么用,有哪些注意的地......