哈希
2025-08-30 14:49:27
发布于:上海
1,数字哈希:
一般用于数字过大,数量不多的统计数字中
cin>>m;
t[get_hash(m)]++;
2,字符串哈希:
可以用于字符串统计个数等多种地方
//字符串get_hash:
typedef unsigned long long ull;
ull p = 1333;
ull get_hash(string s){
ull sum = 0;
for(int i=0;i<s.size();i++){
sum += sum * p + s[i];//因为要考虑出现类似 aabb 和 bbaa 的情况 , 我们采用与位数相关的算法,p进制计算 s 的哈希值
}
return sum;
}
3,初赛哈希
哈希函数: h(x) = x mod d; 可以做到O(1)查找
当会有下表冲突时,存储到下一个(线性探测)或者在后面建立一个链表(连地址法)
哈希表:
负载因子:表示哈希表放的满不满: a = n / m (n为已放入的数字个数 , m为哈希表容量)
全部评论 1
数字哈希这么写不被卡?至少搞个线性探测或者开放地址吧
4天前 来自 广东
0主包还没有学到啊
4天前 来自 上海
0
有帮助,赞一个