相关疑难解决方法(0)

散列2D,3D和nD向量

对于由IEEE 32位浮点数组成的散列2d和3d向量,有什么好的散列函数(快速,良好的分布,很少的碰撞).我假设一般的3d向量,但假设法线(始终在[-1,1])的算法也是受欢迎的.我也不担心比特操纵,因为IEEE浮动也是IEEE浮动.

另一个更普遍的问题是散列Nd浮点向量,其中N非常小(3-12)并且是常量但在编译时不知道.目前我只是将这些花车作为uint并将它们混合在一起,这可能不是最好的解决方案.

3d hash geometry vector

38
推荐指数
2
解决办法
1万
查看次数

浮动的哈希函数

我目前正在用C++实现一个哈希表,我正在尝试为浮点数创建一个哈希函数...

我打算通过填充十进制数来将浮点数视为整数,但后来我意识到我可能会用大数字来达到溢出...

哈希浮点数是否有好方法?

你不必直接给我这个功能,但我想看/理解不同的概念......

笔记:

  1. 我不需要它真的很快,如果可能的话,只是均匀分布.

  2. 我已经读过浮点数不应该因为计算的速度而被散列,有人可以确认/解释这个并给我其他原因,为什么浮点数不应该被散列?我真的不明白为什么(除了速度)

c++ floating-point hash-function hashtable

17
推荐指数
5
解决办法
2万
查看次数

如何找到3D向量的哈希值?

我正在尝试使用固定网格大小方法执行宽相碰撞检测。因此,对于每个实体的位置:(x,y,z)(每个类型为float),我需要找到实体所在的单元格。然后,我打算将所有单元格存储在哈希表中,然后进行迭代报告(如果有)冲突。

因此,这就是我正在做的事情:网格单元的位置:(整数类型)(Gx,Gy,Gz)=>(x / M,y / M,z / M),其中M是网格的大小。

一次,我有一个单元格,我想将其添加到哈希表中,其键是基于(Gx,Gy,Gz)的唯一哈希,其值是单元格本身。现在,我想不出一个好的哈希函数,对此我需要一些帮助。

有人可以建议我一个好的哈希函数吗?

谢谢

floating-point hash hashmap vector-graphics

5
推荐指数
1
解决办法
2745
查看次数

如何对 numpy 数组进行哈希处理以检查重复项

我已经搜索了一些教程等来帮助解决这个问题,但似乎找不到任何东西。

我有两个 n 维 numpy 数组列表(某些图像的 3D 数组形式),并且想要检查每个列表中的重叠图像。可以说列表 a 是训练集,列表 b 是验证集。一种解决方案是使用嵌套循环并检查每对数组是否相等,np.array(a[i], b[j])但这很慢(每个列表中有大约 200,000 个 numpy 数组)并且坦率地说非常恶心。

我正在考虑实现此目的的一种更优雅的方法是对每个列表中的每个 numpy 数组进行哈希,然后使用这些哈希表比较每个条目。

首先,这个解决方案是否正确,其次,我将如何实现这一目标?
下面是一些数据的示例。

train_dataset[:3]
array([[[-0.5       , -0.49607843, -0.5       , ..., -0.5       ,
         -0.49215686, -0.5       ],
        [-0.49607843, -0.47647059, -0.5       , ..., -0.5       ,
         -0.47254902, -0.49607843],
        [-0.49607843, -0.49607843, -0.5       , ..., -0.5       ,
         -0.49607843, -0.49607843],
        ..., 
        [-0.49607843, -0.49215686, -0.5       , ..., -0.5       ,
         -0.49215686, -0.49607843],
        [-0.49607843, -0.47647059, -0.5       , ..., -0.5       ,
         -0.47254902, -0.49607843],
        [-0.5       , -0.49607843, -0.5       , ..., -0.5 …
Run Code Online (Sandbox Code Playgroud)

python arrays hash numpy

5
推荐指数
1
解决办法
4591
查看次数