zoukankan      html  css  js  c++  java
  • Hash的一点测试

    哈希表的学习与测试

    以前写的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

    */

  • 相关阅读:
    回调那些事儿
    v-if和v-show小对比
    导出下载功能
    vue和react
    Redis 实现抢票
    MySQL 各种连接,
    MySQL的分组,降序 实现
    MySQL 窄表转宽表
    EX: 判断密码, 判断字符必须包含大写,小写,数字,特殊字符 ,并且键盘不能连续
    hive 基础
  • 原文地址:https://www.cnblogs.com/luoyibujue/p/7965992.html
Copyright © 2011-2022 走看看