顺序无关的哈希算法
我目前正在为我的自定义编程语言开发一个集合库。我已经有几种数据类型(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-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-10混音算法
我有两个原始声音流需要加在一起。出于这个问题的目的,我们可以假定它们是相同的比特率和比特深度(例如16比特采样,44.1khz采样率)。显然,如果只将它们加在一起,我的16位空间将上溢和下溢。如果将它们加在一起并除以二,则每个扬声器的音量减半,这在声音上是不正确的-如果两个人在一...
2024-01-10白平衡算法
我正在做一些图像处理,并且我需要一种自动白平衡算法,该算法在CPU计算时间方面不太复杂。有什么建议吗?编辑:如果它与效率有关,我将在Java中使用彩色图像作为整数数组来实现它。回答:相对简单的算法是对屏幕上最亮和最暗像素的色相(以HSV或HSL表示)进行平均。紧要关头,仅使用最亮的...
2024-01-10月/月相算法
有谁知道一种算法来计算给定日期的月相或年龄,或者找到给定年份中新月/满月的日期?Googling告诉我答案是在一本天文学书籍中,但是当我只需要一页时,我真的不想买整本书。我应该对有关谷歌搜索的声明有所保留。我确实找到了只能在某些时间段内(例如1900年代)工作的解决方案;以及基于tri...
2024-01-10C#中的哈希表与字典
Hashtable 哈希表当需要使用键访问元素时,可以使用哈希表,并且可以识别有用的键值。哈希表中的每个项目都有一个键/值对。该键用于访问集合中的项目。Hashtable中的成员是线程安全的。如果我们尝试查找不存在的键,则返回null。哈希表不是通用类型。Hashtable集合比字典慢,因为它需要装箱和拆箱。...
2024-01-10列表不可哈希,但元组可哈希?
在如何哈希列表?有人告诉我,我应该转换为一个元组第一,如[1,2,3,4,5]到(1,2,3,4,5)。因此,第一个不能散列,而第二个可以散列。为什么*?*我并不是真正地在寻求详细的技术说明,而是在寻找一种直觉回答:主要是因为元组是不可变的。承担以下工作:>>> l = [1, 2, 3]>>> t = (1, 2, 3)>>> x = {l: 'a list', ...
2024-01-10在C#中使用哈希表和字典
哈希表Hashtable类表示键和值对的集合,这些键和值对基于键的哈希码进行组织。它使用键来访问集合中的元素。Hashtable类中的一些常用方法是-序号方法与说明1public virtual void Add(object key, object value);将具有指定键和值的元素添加到哈希表中。2public virtual void Clear();从哈希表中删除所有元素。3public virtual bo...
2024-01-10轻松学习C#的哈希表
在C#语言中,还有一种用于快速搜索而组织的键/值组合的数组,这种数组叫做关联数组,也叫做哈希表(Hashtable)。 哈希表也在System.Collection命名空间下,用于处理和表现类似key/value的键值对,其中key通常用来快速查找,同时key是区分大小写,且key必须是唯一的。它没有有效的排序,所...
2024-01-10C ++程序通过二次探测实现哈希表
哈希表是一种数据结构,用于存储键值对。哈希表使用哈希函数来计算要插入或搜索元素的数组的索引。二次探测是开放地址哈希表中的冲突解决技术。它通过获取原始哈希索引并添加任意二次多项式的连续值直到找到一个空位来进行操作。这是一个使用二次探测实现哈希表的C ++程序。算法对于搜索...
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