posts - 195, comments - 34, trackbacks - 0, articles - 1
          對于組合的遞歸算法,我沒有想出來。我不我會抱持這個問題的。

          排列(全排列)的遞歸算法一般的書上都有其算法,我只是寫出來玩玩。遞歸的理解還是感覺有些難。
           1//產(chǎn)生排列的遞歸算法
           2//    1.n==1,Perm(R) = (r)
           3//    2.n > 1, perm(R) = (r1)perm(R1), (r2)Perm(R2);
           4    static int counter = 1;
           5    static void perm(char []list, int k, int m)
           6    {
           7        if(k == m)
           8            System.out.println((counter++)+ " :"+ Arrays.toString(list));
           9        else
          10        {
          11            for(int i=k; i <= m;i++)
          12            {
          13                swap(list,i, k);            
          14                perm(list, k+1, m);            
          15                swap(list,i, k);
          16            }

          17        }

          18    }

          19    static void swap(char[] list, int i, int k)
          20    {
          21        char tmp;
          22        tmp = list[k];
          23        list[k] = list[i];
          24        list[i] = tmp;
          25    }
          不過也看到上學(xué)期有同學(xué)去迅雷面試中就有這個題目的。所以簡單不簡單看知道不知道,理解的深還是淺。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 峡江县| 莱州市| 乌拉特前旗| 阿克| 黔西| 武冈市| 图木舒克市| 忻城县| 开远市| 遂昌县| 长沙县| 当阳市| 东乡县| 莱阳市| 浦江县| 梅河口市| 龙江县| 青铜峡市| 青河县| 衡南县| 宜春市| 东海县| 莎车县| 寿宁县| 深泽县| 阳新县| 梨树县| 弥渡县| 柘荣县| 水城县| 黄骅市| 遂平县| 册亨县| 朔州市| 黄浦区| 开封县| 韶山市| 安阳县| 习水县| 梅州市| 三亚市|