适用于矩阵稀疏模式的哈希函数
Suitable hash function for matrix sparsity pattern
我正在使用以一般稀疏格式(压缩行(存储的稀疏矩阵。 即我存储矩阵:
0 x y 0
0 0 0 0
z 0 0 0
以以下形式:
- 矩阵尺寸: [3,4]
- 每行的偏移量:[0,2,2,3]
- 每个非零条目的列:[1,2,0]
- 非零元素:[x,y,z]
正在寻找允许我"缓存"稀疏模式(即上面带有整数的前三个向量(的哈希函数。为此,我想我需要一个好的哈希函数,我可以将其提供给我计划使用的哈希映射实现,即C++的std::unordered_map
。
有没有人对如何为这样的问题找到一个好的哈希函数有一些提示?
如果你的CSR表示在每个矩阵中都是唯一的,即非零元素以从左到右,从上到下的顺序出现,那么你可以对所有向量进行哈希处理并使用boost::hash_combine
组合哈希(如果你不想依赖Boost,只需复制粘贴它,它很短(。
相关文章:
- 如何为位集找到/实现一个好的哈希函数
- 对于短字符串来说,这是一个很好的哈希函数吗?
- 我在C++中使用提升哈希函数将 3 个双精度组合成一个面临冲突的哈希
- 无冲突的哈希函数
- Qt5 哈希函数在 Windows 7 和 Windows10 上不会返回相同的哈希
- 解决由于在哈希函数中使用了不完整的类型而导致的编译失败
- 使用 Murmur2 64 位哈希函数生成会导致冲突的输入
- 错误:哈希函数必须可使用键类型的参数进行调用
- unordered_set是否适合存储矢量<int>元素的数据结构?如果是这样,我将如何实现哈希函数?
- 为什么C++哈希函数的返回类型是 std::size_t,而不是独立于平台的类型?
- 哈希函数计算
- 哈希函数中同一键的不同值和良好的哈希值排序
- 将 C# 哈希函数转换为C++
- 如何创建用于生成噪声的哈希函数
- 插入不从哈希函数中检索键
- 简单的 C++11 哈希函数无法编译
- 对于这个英语单词列表来说,什么是好的哈希函数?
- std::bitset 哈希函数算法
- 如何生成伪随机 32 字节字符串以用作加密哈希函数中的盐?
- C unordered_map自定义的哈希函数碰撞