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

勤能補拙,Expter

成都游戲Coder,記錄游戲開發過程的筆記和心得!

一個字典生成算法幾種解法:

        最近做一個東西正好需要生成字典的算法,類似一些密碼字典生成器(主要運用在暴力破解)。生成的密碼會根據密碼長度與字典集合的長度成指數關系。
       可以用一個函數來表示
        f( x , y  )  = x ^y ;           x表示我們要生產的密碼長度,y表示我們要生成的密碼字典字符集合。

      當時想到就有3個算法。
      
    1.循環
         關于循環,可以參考水仙花數的多層嵌套求解,主要算法如下:

 1/// Dict 為生成的密碼 , g_Dict為字典集合
 2for ( int i = 0 ; i < Len  ; i++ )
 3{
 4    Dict[0= g_Dict[i];
 5
 6    for ( int j = 0 ; j < Len ; j++)
 7    {
 8        Dict[1= g_Dict[j];
 9
10        for ( int k = 0 ; k < Len ; k++ )
11        {
12            Dict[2= g_Dict[k];
13
14            /*
15            *    幾位密碼就嵌套幾層循環
16            */

17
18        }

19    }

20}

       這種方式移植不好,而且代碼臃腫。
    2.遞歸
       做過字符串的全排列的都明白這個算法,這種也是基于這種方式:但是由于隨著字典集合或者密碼長度的增加,很容易會出現堆棧的內存溢出。
     

 1void solve(int len,int p , int s,int n)
 2{
 3    int i;    
 4    if( s == n )
 5    {    
 6        ///std::cout << Dict << std::endl;
 7        return ;

 8    }
    
 9    if(s>n||p>n)
10        return;    
11    for( i=p ; i < len ; i++ )    
12    {    
13        solve(len,i+1,s+1,n);    
14    }

15}


    3.BFS
       有了前2種方法的不錯,然后寫了一個非遞歸的算法
        主要借用橫向掃描的方式,借鑒一個數組來進行記錄當前應該生成的密碼。
       主要算法如下:
        

 1/*
 2*    生成字典的函數       
 3*     @parm  需要生成的長度          
 4*/

 5void    MakeDict( int Len )
 6{
 7    char    Dict[MaxDictLen+1];            // 生成的字典字符串
 8    int        Array[MaxDictLen];            // 記錄當前應該生成字典數組
 9
10    memset( Array , 0  , sizeof(Array) );
11
12    bool    bStop =  true;
13
14    int        i,j;
15    for ( ; bStop ; )                    // 是否生成完畢
16    {
17        for ( i = 0 ; i < Len ; i++ )
18        {
19            Dict[i] = g_Dict[Array[i]];
20        }

21        Dict[Len] = '\0';
22
23        std::cout << Dict << std::endl;
24
25        /// 字典數組坐標更新
26        for ( j = Len - 1  ;  j >= 0 ;  j -- )        
27        {
28            Array[j] ++ ;
29
30            if ( Array[j] != ((int)g_Dict.length()) )
31            
32                break;
33            }

34            else
35            {
36                Array [j] = 0;
37                if( j == 0 )            // 生成完畢
38                    bStop = false;    
39            }

40        }

41    }

42}

附上第三個生成算法源碼:
link

posted on 2009-11-08 00:56 expter 閱讀(3475) 評論(1)  編輯 收藏 引用 所屬分類: 其他學習筆記算法與數據結構

評論

# re: 一個字典生成算法幾種解法: 2014-05-11 22:28 張晶

memset是什么  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一区二区三区在线| 国产美女一区二区| 日韩午夜电影av| 亚洲黄色片网站| 欧美成人国产一区二区| 亚洲麻豆av| 亚洲午夜在线观看视频在线| 国产日韩三区| 欧美jizzhd精品欧美巨大免费| 久久综合一区| 这里只有精品在线播放| 亚洲一区激情| 亚洲第一狼人社区| 亚洲美女视频网| 国产亚洲一区二区三区在线观看| 农夫在线精品视频免费观看| 欧美巨乳在线| 久久精品五月| 欧美日韩成人| 久久青青草综合| 欧美日韩美女一区二区| 久久免费99精品久久久久久| 欧美精品在线网站| 久久精品九九| 欧美日韩免费观看一区二区三区| 久久久www免费人成黑人精品| 欧美www视频| 久久精品在这里| 欧美日韩国产成人高清视频| 久久夜色精品国产欧美乱极品| 欧美精品福利在线| 老司机免费视频一区二区| 欧美日韩亚洲一区二区三区| 你懂的视频一区二区| 国产乱肥老妇国产一区二| 亚洲欧洲日韩综合二区| 伊人久久久大香线蕉综合直播| 亚洲一区二区视频在线观看| 亚洲欧洲一区二区在线观看| 性欧美激情精品| 亚洲综合第一页| 欧美激情第三页| 欧美黄色影院| 精品成人国产在线观看男人呻吟| 亚洲一级一区| 亚洲欧美一区二区精品久久久| 欧美成人午夜剧场免费观看| 女人色偷偷aa久久天堂| 国内成人在线| 欧美一区二区三区四区在线观看地址 | 欧美一级网站| 亚洲自拍16p| 欧美系列电影免费观看| 亚洲精选国产| 一区二区三区成人精品| 欧美激情一区二区三区在线视频| 免费一级欧美片在线播放| 韩日视频一区| 久久另类ts人妖一区二区| 国产精品日韩久久久久| 亚洲无线视频| 小黄鸭视频精品导航| 国产精品美女视频网站| 亚洲视频二区| 欧美一区二区三区在线看| 国产热re99久久6国产精品| 99精品免费| 亚洲一区二区成人在线观看| 欧美系列电影免费观看| 亚洲淫性视频| 久久久久久色| 亚洲国产精品专区久久| 欧美福利网址| 一本久久精品一区二区| 欧美一区二区黄| 国内精品久久久久久久97牛牛| 久久狠狠亚洲综合| 亚洲第一天堂av| 这里只有精品视频| 国产精品一级二级三级| 久久精品亚洲精品国产欧美kt∨| 欧美成人精品一区二区| 一本大道久久a久久综合婷婷| 欧美日韩国产精品专区| 亚洲综合成人婷婷小说| 久久天堂av综合合色| 亚洲欧洲在线看| 国产精品美女久久久| 久久精品国产一区二区三| 亚洲国产免费| 午夜亚洲一区| 亚洲国产三级| 国产精品久久久久秋霞鲁丝| 欧美一激情一区二区三区| 欧美成人a视频| 亚洲欧美一区二区在线观看| 极品少妇一区二区三区| 欧美日韩精品一区二区| 欧美一区二区三区婷婷月色| 亚洲欧洲在线一区| 久久精品72免费观看| 亚洲美女黄色片| 国产一区二区精品久久99| 欧美www在线| 久久精品人人做人人综合 | 亚洲欧美春色| 亚洲精品国产精品国产自| 国产噜噜噜噜噜久久久久久久久| 女仆av观看一区| 欧美一级免费视频| 一本色道久久综合狠狠躁的推荐| 久久一区国产| 欧美一区二区三区在线看| 日韩亚洲欧美高清| 在线观看一区视频| 国产色综合网| 国产精品久久久久aaaa| 欧美精品在线免费| 欧美阿v一级看视频| 久久福利毛片| 午夜一区不卡| 亚洲午夜国产一区99re久久 | 亚洲区中文字幕| 欧美成人国产一区二区| 久久久水蜜桃av免费网站| 亚洲欧美激情精品一区二区| 夜夜嗨一区二区| 亚洲精品视频免费在线观看| 亚洲第一福利在线观看| 国产一区二区三区在线观看免费视频 | 亚洲综合欧美日韩| 亚洲免费av网站| 最新中文字幕一区二区三区| 欧美不卡视频一区发布| 看片网站欧美日韩| 久久久在线视频| 久久婷婷久久| 免费精品视频| 欧美成人伊人久久综合网| 欧美暴力喷水在线| 欧美成人精品不卡视频在线观看| 久久这里有精品15一区二区三区| 欧美一区二区三区在线视频| 午夜一区二区三区在线观看| 午夜欧美大片免费观看| 欧美一区二区三区日韩| 久久激情婷婷| 久久综合九色欧美综合狠狠| 欧美91福利在线观看| 亚洲国产精品久久91精品| 欧美激情一区二区三区| 亚洲日本一区二区| 亚洲天堂男人| 久久久久国产一区二区三区| 久久综合给合| 欧美日韩你懂的| 国产精品视屏| 在线观看一区| a4yy欧美一区二区三区| 午夜影视日本亚洲欧洲精品| 久久伊人亚洲| 亚洲精品乱码久久久久久按摩观| 夜夜爽99久久国产综合精品女不卡| 亚洲自拍电影| 美女91精品| 国产精品免费一区二区三区在线观看 | 久久久久久黄| 欧美日韩国产一区| 国产精自产拍久久久久久| 在线不卡a资源高清| 亚洲性夜色噜噜噜7777| 久久久国产精彩视频美女艺术照福利| 久久视频在线看| 亚洲伦理网站| 久久精品国产精品亚洲| 欧美激情在线| 国内久久视频| 亚洲一区二区精品在线观看| 久久女同互慰一区二区三区| 日韩午夜三级在线| 久久国产精品第一页| 欧美人与性动交cc0o| 国产一区二区三区网站| 亚洲视频日本| 你懂的视频欧美| 午夜精品一区二区三区电影天堂| 欧美成人精品影院| 黄色另类av| 欧美在线精品一区| 亚洲精品一区二区三| 久久久久久久久久久一区| 国产精品久久久久秋霞鲁丝| 亚洲精选中文字幕| 久久午夜电影| 亚洲欧美视频在线观看视频| 欧美精品国产精品日韩精品| 永久免费视频成人| 久久国产精品一区二区| 一区二区国产在线观看| 欧美大片免费观看|