Maison >développement back-end >tutoriel php > s[零]*31^(n-1) + s[1]*31^(n-2) + . + s[n-1] 用这种算法做hash

s[零]*31^(n-1) + s[1]*31^(n-2) + . + s[n-1] 用这种算法做hash

WBOY
WBOYoriginal
2016-06-13 13:19:26915parcourir

s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] 用这种算法做hash
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]用这种算法做hash

怎么样?

怎么检测冲突?

当我是一段定长的字符串时候 比如说 10个字符的时候

冲突情况是怎么样的?

据说这个算法是 java的hashcode中的 不知道是不是 ? 我就发java版吧

------解决方案--------------------
海量数据的 hash 冲突是必然存在的,一般是在出现冲突时,采用顺序列表
如果你没有预留出现冲突时的存储空间,多半无解

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn