假设我有这样的结构
struct point3d{
int x;
int y;
int z;
};
如何从此结构创建哈希值? 谢谢
答案 0 :(得分:-1)
很大程度上取决于您要实现什么以及需要多少分配。
大多数非加密哈希类似于:
int64_t Hash(const point3d & point){
int64_t start = 1234; //magic number
int64_t multiplier = 3467; //some other magic number
int64_t hash = start + point.x;
hash = hash*multiplier + point.y;
hash = hash * multiplier + point.z;
return hash;
}
通过调整start
和multiplier
在您的数据集上进行测试。