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

勤能補拙,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 閱讀(3477) 評論(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>
            亚洲国产专区校园欧美| 久久影视精品| 一本色道久久综合亚洲精品高清| 美女诱惑一区| 亚洲视频一区二区| 亚洲综合999| 亚洲国产日韩欧美在线99 | 亚洲第一精品久久忘忧草社区| 香蕉久久夜色| 在线视频一区观看| 久久久综合网| 亚洲欧美激情四射在线日 | 一本色道**综合亚洲精品蜜桃冫 | 老司机久久99久久精品播放免费| 亚洲看片一区| 久久先锋影音av| 久久精品二区三区| 国产精品久久国产精品99gif| 国产精品最新自拍| 国产日韩欧美自拍| 亚洲精品中文字幕女同| 黄色成人av网站| 亚洲欧美视频在线| 亚洲尤物在线| 欧美视频免费在线| 夜夜爽夜夜爽精品视频| 国产日韩欧美在线播放不卡| 久久久久久久久久久久久9999| 亚洲激情国产精品| 国内成人精品一区| 欧美在线免费| 欧美 日韩 国产在线| 91久久综合| 欧美精品一级| 亚洲欧美在线另类| 久久国产精品毛片| 亚洲国产精品久久久久婷婷884 | 午夜视频久久久| 久久成人一区二区| 在线播放中文一区| 欧美大胆人体视频| 一区二区三区成人| 久久免费少妇高潮久久精品99| 国产欧美日韩精品丝袜高跟鞋 | 免费看的黄色欧美网站| 亚洲国产成人一区| 国产精品成人国产乱一区 | 亚洲精品资源| 国产欧美日韩高清| 欧美电影在线观看完整版| 亚洲精品日韩精品| 麻豆成人91精品二区三区| 亚洲午夜精品视频| 亚洲国产99| 亚洲精品1区| 国产精品久久久久国产a级| 日韩视频免费大全中文字幕| 狼狼综合久久久久综合网| 亚洲午夜一级| 99视频精品免费观看| 亚洲第一二三四五区| 国内精品久久久久久久果冻传媒 | 亚洲少妇在线| 一区二区三区四区五区视频| 亚洲第一狼人社区| 亚洲高清免费视频| 欧美激情麻豆| 一区二区三区欧美在线观看| 一本色道久久综合| 亚洲欧美日韩另类精品一区二区三区| 亚洲黄色一区二区三区| 91久久精品www人人做人人爽| 亚洲精品看片| 亚洲欧美日韩国产综合在线 | 亚洲欧美日韩一区二区三区在线观看| 亚洲一二三区在线| 国产精品a久久久久| 日韩视频一区二区在线观看| 亚洲午夜久久久久久尤物| 激情av一区| 国产精品视频精品| 国产精品视频观看| 精品999在线观看| 亚洲黄网站在线观看| 亚洲精品永久免费| 一区二区欧美日韩视频| 亚洲欧美日韩另类精品一区二区三区| 亚洲精品专区| 欧美伊人久久久久久久久影院| 欧美精品久久99| 国产亚洲毛片在线| 永久免费精品影视网站| 亚洲娇小video精品| 中国日韩欧美久久久久久久久| 亚洲天堂免费观看| 免费亚洲电影| 亚洲欧美日韩国产| 欧美绝品在线观看成人午夜影视| 国产精品视频区| 一区二区日韩欧美| 亚洲精品在线视频| 久久久精品国产免大香伊 | 亚洲天堂成人在线视频| 久久精品色图| 一区二区三区国产| 欧美日韩国产精品| 99在线热播精品免费99热| 久久精品中文| 久久久久久成人| 国产日韩高清一区二区三区在线| 一区二区日韩免费看| 欧美二区在线观看| 久久天堂成人| 一区二区三区在线视频观看| 久久久国产91| 欧美成人精品三级在线观看| 一本久久a久久免费精品不卡 | 久久久www成人免费无遮挡大片 | 国产精品一区二区久激情瑜伽| 中文高清一区| 亚洲三级性片| 欧美午夜精品久久久| 亚洲一区综合| 欧美在线免费观看| 亚洲激情视频在线播放| 亚洲精品乱码久久久久久久久 | 国产日韩综合一区二区性色av| 亚洲性xxxx| 欧美一站二站| 亚洲精品日韩在线| 日韩一二三在线视频播| 国产视频久久久久| 亚洲网站视频福利| 日韩午夜三级在线| 欧美中文字幕在线播放| 一区电影在线观看| 久久成人精品| 亚洲午夜电影网| 美女脱光内衣内裤视频久久网站| 亚洲欧美不卡| 欧美视频精品一区| 欧美国产91| 国产午夜一区二区三区| 一区二区动漫| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品视频久久一区| 欧美电影打屁股sp| 亚洲电影av| 嫩草影视亚洲| 欧美激情一区二区三区不卡| 韩日午夜在线资源一区二区| 日韩亚洲欧美成人一区| 亚洲国产另类久久精品| 久久在线免费观看| 久久综合九色综合欧美狠狠| 国产乱码精品一区二区三| 久久精品国产第一区二区三区| 久久精品国产999大香线蕉| 国产一区在线观看视频| 欧美一区综合| 亚洲精品日韩精品| 亚洲综合色丁香婷婷六月图片| 国产精品久久久久久久久果冻传媒| 亚洲图片欧洲图片日韩av| 久久福利毛片| 欧美日韩成人综合在线一区二区| 亚洲精品国产精品国自产观看浪潮| 亚洲免费久久| 国产在线一区二区三区四区| 久久精品免费| 夜夜精品视频| 久久字幕精品一区| 99国产精品私拍| 在线观看日韩av| 欧美午夜电影在线| 欧美日韩一区二区三区四区在线观看| 99在线精品视频在线观看| 久久国产精品黑丝| 日韩小视频在线观看| 红桃视频成人| 国内伊人久久久久久网站视频| 欧美日韩一二三区| 欧美巨乳在线| 欧美久色视频| 欧美精品首页| 欧美激情国产精品| 欧美a级在线| 欧美区亚洲区| 国产精品www.| 国产精品白丝黑袜喷水久久久| 欧美91视频| 欧美精品在线一区| 国产伦精品一区二区三区视频孕妇| 国产精品久久影院| 国产精品卡一卡二| 国产精品女人网站| ●精品国产综合乱码久久久久| 亚洲国产精品第一区二区三区| 91久久久亚洲精品| 亚洲一区二区三区四区五区黄|