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

勤能補拙,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性久久久久蜜臀aⅴ四虎| 亚洲国产91色在线| 亚洲国产一区在线观看| 欧美另类视频| 欧美一区日韩一区| 久久精品亚洲精品| 亚洲乱码国产乱码精品精天堂| 亚洲精品人人| 国产美女精品免费电影| 久久在线免费| 欧美日本网站| 欧美一区深夜视频| 久久久久99| 亚洲午夜精品| 久久精品最新地址| 亚洲天堂av在线免费| 欧美亚洲一区| 99国产精品一区| 欧美一级专区免费大片| 日韩一级在线观看| 欧美一区二区三区免费大片| 久久影院亚洲| 亚洲综合社区| 免费看av成人| 久久精品123| 欧美日韩理论| 你懂的视频一区二区| 欧美日韩视频一区二区| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩精品欧美日韩精品| 久久久久久国产精品mv| 欧美午夜宅男影院在线观看| 女仆av观看一区| 国产午夜久久| 亚洲视频一二三| 亚洲靠逼com| 久久精品视频在线观看| 午夜一区不卡| 欧美日韩成人在线| 欧美激情日韩| 亚洲第一毛片| 久久精品综合一区| 久久成人免费日本黄色| 国产精品久久久久久久app| 欧美激情第4页| 黄色一区二区在线| 午夜欧美电影在线观看| 亚洲在线电影| 国产精品成av人在线视午夜片| 欧美成人一品| 亚洲高清资源| 农村妇女精品| 亚洲大片在线观看| 亚洲人成在线观看| 久久中文欧美| 欧美sm视频| 亚洲国产高清在线| 欧美成人dvd在线视频| 欧美99久久| 亚洲高清一区二区三区| 久久免费高清视频| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久久噜噜噜久久久| 久久久噜噜噜久久人人看| 国产视频亚洲精品| 久久久青草婷婷精品综合日韩| 久久美女性网| 亚洲高清视频在线| 欧美精品三区| 日韩小视频在线观看| 亚洲天堂男人| 国产精品婷婷| 久久精品国产精品亚洲综合| 另类酷文…触手系列精品集v1小说| 狠狠色丁香久久综合频道| 久久看片网站| 亚洲精品123区| 亚洲一区免费视频| 国产综合欧美在线看| 久久综合久久综合九色| 亚洲激情av| 小黄鸭精品aⅴ导航网站入口| 国产日韩欧美制服另类| 久久婷婷成人综合色| 亚洲视频www| 国产日韩欧美一区在线| 久久综合久久综合九色| 亚洲精品一区二区三| 亚洲欧美在线播放| 在线精品视频在线观看高清| 欧美国产在线电影| 亚洲免费一区二区| 欧美成在线观看| 亚洲综合精品四区| 伊人久久大香线蕉综合热线| 欧美日韩国产系列| 久久久久五月天| 一区二区不卡在线视频 午夜欧美不卡在| 欧美一区二区网站| 一区二区av在线| 激情成人综合| 国产精品黄色在线观看| 免费观看30秒视频久久| 亚洲视频网站在线观看| 欧美激情第9页| 欧美在线视频网站| 中日韩高清电影网| 亚洲国产mv| 国产日韩欧美夫妻视频在线观看| 六月丁香综合| 午夜精品国产精品大乳美女| 亚洲国产婷婷| 蜜桃精品久久久久久久免费影院| 亚洲女同在线| 亚洲视屏在线播放| 亚洲人成7777| 亚洲第一成人在线| 国产在线观看91精品一区| 欧美日韩国内自拍| 欧美黑人在线观看| 老司机免费视频久久| 欧美一区二区三区四区夜夜大片 | 最新日韩在线| 亚洲成人中文| 欧美国产视频在线| 美日韩精品免费| 久久综合狠狠综合久久激情| 久久国产精品久久久久久电车| 亚洲午夜精品一区二区三区他趣 | 国内在线观看一区二区三区| 国产麻豆9l精品三级站| 国产精品一区毛片| 欧美午夜片在线免费观看| 欧美日韩日本国产亚洲在线 | 亚洲一区二区三区免费观看| 日韩视频精品| 99日韩精品| 99视频有精品| 亚洲午夜激情| 午夜视频久久久久久| 亚洲欧美日韩久久精品| 午夜国产不卡在线观看视频| 亚洲免费影视| 欧美一区三区三区高中清蜜桃| 午夜精彩视频在线观看不卡 | 亚洲日本成人| 一区二区三区精品视频| 一区二区欧美在线观看| 亚洲一级黄色片| 午夜精品三级视频福利| 久久国产精品72免费观看| 久久久综合精品| 女仆av观看一区| 欧美日韩国产成人精品| 国产精品久久久久久久久久久久| 午夜精品久久| 久久久综合网| 欧美日韩国产首页| 国产精品一区二区欧美| 狠狠色2019综合网| 亚洲片国产一区一级在线观看| 99天天综合性| 性欧美18~19sex高清播放| 久久夜色精品国产欧美乱| 亚洲第一福利在线观看| 99国产精品久久久久久久久久| 亚洲一区二区三区四区五区午夜 | 午夜精品短视频| 玖玖综合伊人| 欧美视频中文字幕在线| 黄色精品一二区| 一区二区av在线| 久久久久一本一区二区青青蜜月| 亚洲福利视频专区| 亚洲欧美综合网| 欧美精品在线视频| 国产亚洲成av人片在线观看桃 | 国产日韩av高清| 最新国产成人av网站网址麻豆| 性欧美超级视频| 亚洲激情女人| 久久精品一区二区三区四区| 欧美激情中文字幕乱码免费| 国产偷久久久精品专区| 亚洲伦伦在线| 久久综合久久美利坚合众国| 夜夜嗨av一区二区三区| 老司机免费视频久久| 国产欧美一区视频| 一本色道久久综合狠狠躁篇怎么玩| 久久久国产精品亚洲一区| 亚洲最新中文字幕| 欧美成人视屏| 在线免费观看视频一区| 久久av一区二区三区| 日韩视频中文字幕|