标签:速度 数据 str size 不能 bsp strong 今天 字符串
哈希表的学习与测试
以前写的hash都是碰运气的hash,就是乘上质数取模的那种,这样不能保证不碰撞,所以今天先写上几个双hush和链表的hash,并比较一下他们的速度,测试的话用洛谷上的“字符串哈希”题目进行测试。
Hash1:碰撞三个点 用时352ms
/*
这个是只进行一次取质数的hash 第一次尝试 取key值127 mod值 10000000
*/
Hash2:碰撞三个点 用时360ms
/*
这个也是只进行一次取质数的 hush key值131 mod值换成了质数 12345701
*/
Hash3:碰撞两个点 用时228ms
/*
自然溢出加上取模的hush 模数为12345701 速度要高于纯取模的
*/
Hash4:通过所有点 用时 492ms
/*
Hash1和Hash2合并起来进行双哈希 速度有些慢
*/
Hash5:通过所有点 用时280ms
/*
进行两次自然溢出哈希 结果挺快也挺稳的
*/
Hash6:通过所有点 用时216ms
/*
采用单次自然溢出哈希加上链表的方法 适合比较松散的数据 然后是可以处理碰撞的 qwq
*/
标签:速度 数据 str size 不能 bsp strong 今天 字符串
原文地址:http://www.cnblogs.com/luoyibujue/p/7965992.html