顺序无关的哈希算法
我目前正在为我的自定义编程语言开发一个集合库。我已经有几种数据类型(Collection,List,Map,Set)和它们的实现(可变和不可变),但是到目前为止我缺少的是hashCodeandequals。尽管这些对于列表来说是没有问题的,因为它们是有序的集合,但是它们对于集合和地图起着特殊的作用。如果两个Set具有...
2024-01-10安全哈希算法如何工作?
安全散列算法 (SHA) 由美国国家安全局 (NSA) 发明,并于 1993 年通过美国国家标准与技术研究院 (NIST) 作为美国联邦信息处理标准 (FIPS PUB 180) 发布。SHA 依赖并共享与 MD4 算法相似的构建块。SHA 的设计引入了一种新流程,将输入到压缩功能的 16 字消息块发展为介于其他事物之间的 80 字块。SHA 的处理如下:...
2024-01-10哈希算法属于查找算法吗
品牌型号:华为MateBook D15系统:Windows 11哈希算法属于查找算法。哈希查找算法又称散列查找算法,是一种借助哈希表(散列表)查找目标元素的方法,查找效率最高时对应的时间复杂度为O(1)。哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希...
2024-01-24最小曼哈顿距离算法
我希望从一组点中找到曼哈顿距离/直线距离的总和最小的点(即,该点与集合中每个点之间的直线距离的总和应最小)。结果点可以是给定集合中的点之一(不一定)。如果存在多个具有相同最小距离的点,我希望检索所有这些点。换一种说法:我有一个带有某些交叉点的网格。我想找到最接近...
2024-01-10哈希表hash算法的冲突问题
已知字符串的hash算法如下:function hashCode(str) { let hash = 0; for (let i = 0; i < str.length; i++) { hash = hash * 31 + str.charCodeAt(i); } return hash;}找出2^n个hashCode方法返回值相同,且长度为2^n的字符串,提示:hashCode('Aa') == hashCode('BB')。如下图所示:根据例子可以推论如下:CC == BbDD == Cc...
2024-01-10哈希算法原理【Java实现】
前言在入学时,学校为我们每位童鞋建立一个档案信息,当然每个档案信息都对应档案编号,还有比如在学校图书馆,图书馆为每本书都编了唯一的一个书籍号,那么问题来了,当我们需要通过档案号快速查到对应档案信息或者通过书记号快速查到对应书籍,这个时候我们可以通过哪种数据结构呢?...
2024-01-10图解两数之和:哈希表法
两数之和是一道非常经典,也非常高频的面试题,题目大意如下:今天我们就一起探讨一下这道题的解法。太长不看版可以通过暴力运算,遍历nums中的每一个元素,查找数组剩余部分是否有匹配的值;更高效的方式是利用哈希表key唯一且访问快的特性,建立map存储未命中的值。遍历nums中的元素,...
2024-01-10如何用PHP实现分布算法之一致性哈希算法
目录传统算法缺陷算法思想算法实现总结传统算法缺陷对于服务器分布,我们要考虑的东西有如下三点:数据平均分布,查找定位准确,降低宕机影响。传统算法一般是将数据的键用算法映射出数字,对其用服务器数量取模,并根据结果选择要存储的服务器。其能达到数据平均分布和查找定位准确的...
2024-01-10针对动态/静态/增量数据的特化哈希表算法
我有许多数据集具有键值模式 - 即字符串键和指向数据的指针。现在它被存储在散列表中,每个表都具有与散列键相对应的槽阵列,并且在碰撞时形成具有碰撞的每个槽(直接链接)下的链表。所有在C中实现(并应保持在C),如果它很重要。现在针对动态/静态/增量数据的特化哈希表算法,该数据实...
2024-01-10就字符串的哈希冲突和性能而言,最佳哈希算法
如果我们具有以下优先级(按此顺序),那将是最佳的哈希算法:最小的哈希冲突性能它不一定是安全的。基本上,我试图基于某些对象的属性组合来创建索引。 。对c#实现的任何引用将不胜感激。回答:忘记术语“最佳”。不管有人会提出哪种哈希算法,除非您需要对哈希数据进行限制的数...
2024-01-10计算C#中哈希表中键/值对的数量
要计算哈希表中键/值对的数量,代码如下-示例using System;using System.Collections;public class Demo { public static void Main() { Hashtable hash = new Hashtable(); hash.Add("A", "SUV"); hash.Add("B", "MUV"); hash.Add("C", "AUV"); Console.WriteLine("Ha...
2024-01-10RedisHash哈希(2)
包含键值对的无序散列表。value只能是字符串,不能嵌套其他类型。同样是存储字符串,Hash与String的主要区别?1、把所有相关的值聚集到一个key中,节省内存空间2、只使用一个key,减少key冲突3、当需要批量获取值的时候,只需要使用一个命令,减少内存/IO/CPU的消耗Hash不适合的场景:1、Field不能...
2024-01-10混音算法
我有两个原始声音流需要加在一起。出于这个问题的目的,我们可以假定它们是相同的比特率和比特深度(例如16比特采样,44.1khz采样率)。显然,如果只将它们加在一起,我的16位空间将上溢和下溢。如果将它们加在一起并除以二,则每个扬声器的音量减半,这在声音上是不正确的-如果两个人在一...
2024-01-10白平衡算法
我正在做一些图像处理,并且我需要一种自动白平衡算法,该算法在CPU计算时间方面不太复杂。有什么建议吗?编辑:如果它与效率有关,我将在Java中使用彩色图像作为整数数组来实现它。回答:相对简单的算法是对屏幕上最亮和最暗像素的色相(以HSV或HSL表示)进行平均。紧要关头,仅使用最亮的...
2024-01-10月/月相算法
有谁知道一种算法来计算给定日期的月相或年龄,或者找到给定年份中新月/满月的日期?Googling告诉我答案是在一本天文学书籍中,但是当我只需要一页时,我真的不想买整本书。我应该对有关谷歌搜索的声明有所保留。我确实找到了只能在某些时间段内(例如1900年代)工作的解决方案;以及基于tri...
2024-01-10TKEH算法
未完待续...写在前面:本篇记录对APIN-TKEN文献上翻译的个人理解,如有错误还望指正。Top-k高效用项集挖掘样本定义交易数据集(Transaction Dataset):设 是许多不同项的集合,项集 ,其中交易项 ,交易数据集 内部效用值(Internal Utility):也可以看作数量,设 , 意味着在交易项 中,项 x 的出...
2024-01-10线性差值算法
点斜式: #include<stdio.h>#define N 10float w = 10.0;float w0 = 0.0;float wn = 100.0;int adc[N+1] = {86,376,687,1021,1379,1760,2164,2592,3043,3515,4008};float line(int x){ int i; if(x<adc[0]) return(w0); if(x>=adc[N]) return(wn); for(i=...
2024-01-10仿射变换算法
有谁知道任何标准算法来基于两个坐标系中的一组已知点来确定仿射变换矩阵?回答:仿射变换由2x3矩阵给出。我们通过获取2D输入(xy),将其撞到3D向量(xy 1),然后乘以M(在左侧)来执行仿射变换M。因此,如果我们有三个点(x1 y1)(x2 y2)(x3 y3)映射到(u1 v1)(u2 v2)(u3 v3) [x1 x2 x3] [u...
2024-01-10求折线两侧平行线算法
如下图所示:已知中间折线的坐标,求两侧平行线坐标的算法,感谢回答这个主要找各种转折点,然后顺序连线即可起点和终点都算一种特殊转折点以转折点为圆心,画圆,转折角平分线与圆交于2点是平行线转折点。...
2024-01-10寻峰算法
我最近开始看MIT的6.006讲座,在第一堂课中,讲师介绍了峰值查找算法。http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/MIT6_006F11_lec01.pdf根据他的定义:给定数组[a,b,c,d,e,f,g],其中ag是数字,当且仅当a <= b并且b> = c时,b才是峰值。他给出了...
2024-01-103D装箱算法
我正在寻找任何3D装箱算法的确定性实现,即在一个或多个大的立方体内包装许多小的不同的长方体。该解决方案可能与最佳解决方案有所不同。它应该用C,C ++,Java,C#,IronPython,IronRuby或可以从.Net代码合并的任何其他语言编写。我在http://www.diku.dk/hjemmesider/ansatte/pisinger/3dbpp.c中找到了这种C算法,...
2024-01-10DRF限流算法
class SimpleRateThrottle(BaseThrottle): def allow_request(self, request, view): """ Implement the check to see if the request should be throttled. On success calls `throttle_success`. On failure calls `throttle_failure`. ...
2024-01-10C#程序在哈希表中查找值
设置元素的Hahtable集合。Hashtable h = new Hashtable();h.Add(1, "Jack");h.Add(2, "Henry");h.Add(3, "Ben");h.Add(4, "Chris");假设现在您需要找到一个值,然后使用该ContainsValue()方法。我们在这里找到值“克里斯”-h.ContainsValue(“Chris”);示例using System;using System.Collections;public class Demo { publ...
2024-01-10在C#中将元素添加到哈希表中
要将元素添加到哈希表中,代码如下-示例using System;using System.Collections;public class Demo { public static void Main(){ Hashtable hash = new Hashtable(10); hash.Add("1", "A"); hash.Add("2", "B"); hash.Add("3", "C"); hash.Add("4", "D"); hash...
2024-01-10哈希表或哈希表中的重新哈希处理
当大小超过maxthreshold值时,如何在哈希表或哈希表中进行重新哈希处理?是否所有对都已复制到新的存储桶阵列中?重新哈希后,同一存储桶(位于链接列表中)中的元素会发生什么情况?我的意思是说,他们在重新哈希处理后会留在同一个桶中吗?回答:问题中的最大阈值称为负载系数。建议负...
2024-01-10哈希码号代表内存地址吗?
我了解到,哈希码是一个唯一标识参考号,它是一个十六进制数。我的疑问是,参考数字代表对象的内存地址吗?例如:Employeee e1=new Employee();System.out.println(e1.hashcode());这段代码会返回我对象的内存地址吗?回答:哈希码不是唯一的标识。它只是一个数字,可以帮助您区分对象。两个不同的对象可...
2024-01-10C#中具有多维键的哈希表
我基本上是在寻找一种使用c#中的二维类型键访问哈希表值的方法。最终我可以做这样的事情HashTable[1][false] = 5;int a = HashTable[1][false];//a = 5这就是我一直在尝试的…没有用Hashtable test = new Hashtable();test.Add(new Dictionary<int, bool>() { { 1, true } }, 555);Dictionary<int, bool> temp = new Dictionary<int, ...
2024-01-10哈希表的基本原理?
我对哈希表的基本概念感到困惑。如果我要编码一个哈希,我什至会开始吗?哈希表和普通数组之间有什么区别?基本上,如果有人回答了这个问题,我想我的所有问题都会得到回答:如果我有100个随机生成的数字(作为键),那么我将如何实现哈希表,以及为什么它比数组有优势?伪代码或Java将被...
2024-01-10C ++程序通过线性探测实现哈希表
哈希表是一种数据结构,用于存储键值对。哈希表使用哈希函数来计算要插入或搜索元素的数组的索引。线性探测是开放地址哈希表中的冲突解决技术。在这种方法中,哈希表的每个单元格都存储一个键-值对。如果通过将新键映射到哈希表中已经被另一个键占用的单元格而发生冲突。此方法在表中搜...
2024-01-10图解哈希表及其原理
要点回顾此部分方便知识点快速回顾,首次阅读请从引言部分开始。哈希表(Hash Table)其实也叫散列表,是一个数据结构。哈希表本质上就是一个数组,只不过数组存放的是单一的数据,而哈希表中存放的是键值对(key - value pair)。key 通过哈希函数(hash function)得到数组的索引,进而存取索引位...
2024-01-10C#中的哈希表与字典
Hashtable 哈希表当需要使用键访问元素时,可以使用哈希表,并且可以识别有用的键值。哈希表中的每个项目都有一个键/值对。该键用于访问集合中的项目。Hashtable中的成员是线程安全的。如果我们尝试查找不存在的键,则返回null。哈希表不是通用类型。Hashtable集合比字典慢,因为它需要装箱和拆箱。...
2024-01-10