青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 195,  comments - 30,  trackbacks - 0

這是第一種哈希函數,運行時間短,但內存占用多。哈希函數是怎么得到的?我也想知道。。。
#include<stdio.h>
#include<string.h>
#include<math.h>
struct abc
{
    int boo;
    char key[12];
}hash[1100005];
int const prime=999983;
double const gold=0.618033;
void insert(char a[],int k,int w)
{
    if(hash[w].boo==0)
    {   
        hash[w].boo=k;
        memcpy(hash[w].key,a,sizeof(hash[w].key));
    }
    else
        insert(a,k,w%prime+1);    
}
int find(int k,int w)
{
    if(hash[w].boo==k)
    {
        printf("%s\n",hash[w].key);
            return 1;
    }   
    else
    {
        if(hash[w].boo==0)
            return 0;
        else
            return find(k,w%prime+1);
    }   
}
int main()
{
    freopen("in.txt","r",stdin);
    char a[12],b[12];
    scanf("%c",&a[0]);
    while(scanf("%s%s",a+1,b))
    {
        getchar();
        int len=strlen(b);
        int k=0;
        for(int i=0;i<len;i++)
            k=k*26+b[i]-'a';
        int w=int (prime*(k*gold-floor(k*gold)));
        insert(a,k,w);
        scanf("%c",&a[0]);
        if(a[0]=='\n')
            break;
    }
    while(scanf("%s",&a)==1)
    {
        int len=strlen(a);
        int k=0;
        for(int i=0;i<len;i++)
        k=k*26+a[i]-'a';
        int w=int (prime*(k*gold-floor(k*gold)));
        if(find(k,w)==0)
        printf("eh\n");
    }
    return 0;
}
這是用書中提到的ELFhash()函數,也沒體現出時間上的優(yōu)勢,但空間上確實是省了不少,可能是計算ELFhash()時浪費了時間吧,處理字符串哈希沖突的辦法目前只發(fā)現了線形探測法,雖然不理想,但愿將來能發(fā)現別的辦法。
ELFhash函數在UNIX系統V 版本4中的“可執(zhí)行鏈接格式”( Executable and Linking Format,即ELF )中會用到,ELF文件格式用于存儲可執(zhí)行文件與目標文件。ELFhash函數是對字符串的散列。它對于長字符串和短字符串都很有效,字符串中每個字符都 有同樣的作用,它巧妙地對字符的ASCII編碼值進行計算,ELFhash函數對于能夠比較均勻地把字符串分布在散列表中。
#include<stdio.h>
#include<string.h>
#include<math.h>
#define MOD 300005
struct abc
{
    bool boo;
    char akey[12];
    char bkey[12];
}hash[300005];

int ELFhash(char *key)
{
    unsigned long h=0;
    while(*key)
    {
        h=(h<<4)+*key++;
        unsigned long g=h&0Xf0000000L;
        if(g) h^=g>>24;
        h&=~g;
    }
    return h%MOD;
}
void insert(char a[],char b[],int w)
{
    if(!hash[w].boo)
    {   
        hash[w].boo=true;
        memcpy(hash[w].akey,a,sizeof(hash[w].akey));
        memcpy(hash[w].bkey,b,sizeof(hash[w].bkey));
    }
    else
        insert(a,b,w+1);    
}
int find(char b[],int w)
{
    if(hash[w].boo && strcmp(hash[w].bkey,b)==0)
    {
        printf("%s\n",hash[w].akey);
            return 1;
    }   
    else
    {
        if(!hash[w].boo)
            return 0;
        else
            return find(b,w+1);
    }   
}
int main()
{
    char a[12],b[12];
    scanf("%c",&a[0]);
    while(scanf("%s%s",a+1,b))
    {
        getchar();
        int w=ELFhash(b);
        insert(a,b,w);
        scanf("%c",&a[0]);
        if(a[0]=='\n')
            break;
    }
    while(scanf("%s",&b)==1)
    {
        int w=ELFhash(b);
        if(find(b,w)==0)
        printf("eh\n");
    }
    return 0;
}

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/cugbliang/archive/2008/05/30/2497539.aspx

posted on 2009-07-01 14:29 luis 閱讀(946) 評論(0)  編輯 收藏 引用 所屬分類: 轉載
<2012年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

文章分類

文章檔案

友情鏈接

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久美女艺术照精彩视频福利播放 | 亚洲在线视频免费观看| 欧美夜福利tv在线| 欧美性猛交xxxx乱大交蜜桃| 99视频精品全国免费| 亚洲国产精品成人精品| 久久综合网hezyo| 曰本成人黄色| 亚洲国产精品久久久久秋霞蜜臀| 免费亚洲一区二区| 亚洲精品日产精品乱码不卡| 久久嫩草精品久久久精品| 亚洲一线二线三线久久久| 国产精品乱码妇女bbbb| 性做久久久久久| 亚洲视频在线观看三级| 国产精品免费在线 | 欧美中文字幕久久| 国产一区二区三区久久久久久久久| 久久不射2019中文字幕| 久久国产精品亚洲va麻豆| 亚洲第一精品电影| 亚洲美女毛片| 国产精品欧美日韩一区二区| 久久国产一区二区三区| 久久午夜色播影院免费高清| 亚洲精品激情| 亚洲一区二区在线播放| 国产亚洲欧美日韩一区二区| 欧美成人免费在线观看| 欧美xx视频| 亚洲欧美激情四射在线日 | 亚洲黄色一区| 一二三区精品福利视频| 国产一区二区三区黄| 欧美激情一区二区久久久| 欧美日韩美女在线| 99热在这里有精品免费| 亚洲男人第一av网站| 亚洲高清一区二区三区| 亚洲精品视频啊美女在线直播| 国产精品每日更新在线播放网址| 久久视频这里只有精品| 欧美久久99| 久久青草久久| 国产精品多人| 亚洲国产日韩欧美一区二区三区| 国产精品久久久久aaaa| 欧美福利一区二区| 国产精品日韩二区| 亚洲欧洲日本国产| 国产精品久久久久久av福利软件 | 国产精品一区在线观看你懂的| 欧美成人免费全部| 国产精品毛片高清在线完整版| 欧美高清不卡| 国内揄拍国内精品少妇国语| 亚洲国产美女精品久久久久∴| 国产夜色精品一区二区av| 亚洲精品中文字| 亚洲国产精品久久久久秋霞不卡 | 国产精品麻豆成人av电影艾秋| 免费欧美日韩| 国内成人自拍视频| 亚洲精品乱码久久久久久黑人| 亚洲福利视频二区| 欧美中文字幕不卡| 亚洲图片欧洲图片日韩av| 欧美成人福利视频| 久热精品在线| 国产亚洲一级高清| 欧美一区二区女人| 午夜一区二区三区在线观看| 欧美日韩综合久久| 亚洲免费网址| 久久婷婷综合激情| 亚洲欧洲日产国产网站| 欧美精品偷拍| 中日韩视频在线观看| 欧美在线三级| 亚洲高清自拍| 欧美日韩在线免费| 亚洲综合导航| 久久亚裔精品欧美| 亚洲伦理中文字幕| 国产精品久久久久77777| 欧美一区激情| 亚洲国产成人在线播放| 一区二区三区精密机械公司| 国产精品区一区二区三| 久久久久久**毛片大全| 最新精品在线| 久久av一区二区| 亚洲美女色禁图| 国产欧美一区二区精品忘忧草| 久久夜色精品| 亚洲视频福利| 亚洲二区免费| 久久爱另类一区二区小说| 亚洲国产精品传媒在线观看 | 国产精品青草综合久久久久99 | 亚洲美女av黄| 老巨人导航500精品| 一级日韩一区在线观看| 国产又爽又黄的激情精品视频| 免费在线一区二区| 亚洲专区一二三| 亚洲国产欧美久久| 久久久久久穴| 一区二区三区日韩精品| 在线看国产日韩| 国产精品久久久久9999| 欧美激情一区二区三区蜜桃视频| 香蕉国产精品偷在线观看不卡| 亚洲国产一区在线| 另类综合日韩欧美亚洲| 亚洲欧美亚洲| 中日韩视频在线观看| 亚洲激情国产精品| 国产性天天综合网| 国产精品爱啪在线线免费观看| 免播放器亚洲一区| 久久国产精品第一页| 中文在线资源观看视频网站免费不卡| 欧美国产精品一区| 久久婷婷综合激情| 欧美怡红院视频一区二区三区| 亚洲午夜未删减在线观看| 91久久国产自产拍夜夜嗨| 黄网动漫久久久| 国产区日韩欧美| 国产精品中文字幕欧美| 欧美色视频在线| 欧美日韩1区2区| 欧美精品亚洲| 欧美精品二区| 欧美日韩99| 欧美三级在线视频| 欧美性做爰毛片| 欧美性视频网站| 国产精品久久久久久影视| 欧美亚洲成人免费| 国产精品va在线播放| 国产精品久久婷婷六月丁香| 国产精品高精视频免费| 国产精品青草久久久久福利99| 国产精品久久久久久一区二区三区| 欧美午夜久久久| 国产精品国产三级国产专播精品人| 欧美日韩亚洲一区在线观看| 欧美日一区二区在线观看| 欧美视频不卡| 国产麻豆视频精品| 韩国欧美国产1区| 在线观看欧美| 亚洲欧洲一区二区三区久久| 一本一本久久a久久精品牛牛影视| 日韩亚洲精品电影| 亚洲先锋成人| 久久精品夜色噜噜亚洲a∨ | 欧美黑人国产人伦爽爽爽| 欧美顶级少妇做爰| 亚洲精品久久久久久久久久久| 一区二区三区.www| 午夜精品久久久久久久99热浪潮| 欧美在线视频观看免费网站| 欧美~级网站不卡| 国产精品v亚洲精品v日韩精品| 国产深夜精品| 亚洲人永久免费| 午夜综合激情| 欧美凹凸一区二区三区视频| 亚洲精品韩国| 欧美在线免费播放| 欧美成人日韩| 国产精品有限公司| 亚洲日本无吗高清不卡| 亚洲尤物精选| 免费一区二区三区| 亚洲无毛电影| 牛牛精品成人免费视频| 国产精品久久久久久久久久尿| 亚洲成人在线观看视频| 一区二区三区高清在线| 久久久久五月天| 99精品欧美一区二区三区| 久久久亚洲精品一区二区三区| 欧美视频1区| 亚洲激情视频在线| 久久成人精品无人区| 亚洲精品视频在线观看网站| 久久久成人精品| 国产精品日韩久久久| 9i看片成人免费高清| 另类成人小视频在线| 亚洲视频1区| 欧美片在线观看| 亚洲日产国产精品| 久久婷婷成人综合色| 亚洲免费网站|