• <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>
            隨筆 - 70  文章 - 160  trackbacks - 0

            公告:
            知識共享許可協議
            本博客采用知識共享署名 2.5 中國大陸許可協議進行許可。本博客版權歸作者所有,歡迎轉載,但未經作者同意不得隨機刪除文章任何內容,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 具體操作方式可參考此處。如您有任何疑問或者授權方面的協商,請給我留言。

            常用鏈接

            留言簿(8)

            隨筆檔案

            文章檔案

            搜索

            •  

            積分與排名

            • 積分 - 179896
            • 排名 - 147

            最新評論

            閱讀排行榜

            評論排行榜

             



            http://www.wutianqi.com/?p=1157



            集合A的冪集是由集合A的所有子集所組成的的集合。

             

            如:A={1,2,3},則A的冪集P(A)={{1,2,3},{1,2},{1,3},{1},{2,3},{2},{3},{ }}。

            求一個集合的冪集就是求一個集合的所有的子集,方法有窮舉法,分治法,回溯等,這里主要介紹一下回溯法

            回溯法是設計遞歸過程的一種重要的方法,它的求解過實質上是一個先序遍歷一棵“狀態樹”的過程,只是這棵樹不是遍歷前預先建立的,而是隱含在遍歷過程中的。

            冪集中的每個元素是一個集合,它或是空集,或含集合A中一個元素,或含集合A中兩個元素…… 或等于集合A。反之,從集合A 的每個元素來看,它只有兩種狀態:它或屬冪集的無素集,或不屬冪集的元素集。則求冪集p(A)的元素的過程可看成是依次對集合A中元素進行“取”或“舍”的過程,并且可以用一棵二叉樹來表示過程中冪集元素的狀態變化過程,樹中的根結點表示冪集元素的初始狀態(空集);葉子結點表示它的終結狀態,而第i層的分支結點,則表示已對集合A中前i-1個元素進行了取舍處理的當前狀態(左分支表示取,右分支表示舍 )。因此求冪集元素的過程即為先序遍歷這棵狀態樹的過程。

            具體算法如下:

            C/C++描述:

             1#include <iostream>
             2#include <cstring>
             3#include <ctype.h>
             4#include <stdlib.h>
             5#include <string>
             6using namespace std;
             7 
             8char a[100];
             9char b[100];
            10 
            11void GetPowerSet(int i, char a[])
            12{
            13    char x;
            14    int k;
            15    int len = strlen(a);
            16    if(i >= len)
            17    {
            18        if(b[0])
            19            cout << b <<  endl;
            20        else
            21            cout << "XX" << endl;  // 表示空集
            22    }

            23    else
            24    {
            25        x = a[i];
            26        k = strlen(b);
            27        b[k] = x;
            28        GetPowerSet(i+1, a);
            29        b[k] = 0;
            30        GetPowerSet(i+1, a);
            31    }

            32}

            33 
            34 
            35int main()
            36{
            37    while(scanf("%s", a) != EOF)
            38    {
            39        printf("%s的冪集是:\n", a);
            40        printf("------------\n");
            41        GetPowerSet(0, a);
            42        printf("------------\n");
            43    }

            44}
            posted on 2010-08-30 19:45 Tanky Woo 閱讀(4006) 評論(0)  編輯 收藏 引用
            婷婷综合久久狠狠色99h| 久久精品国产秦先生| 99久久精品久久久久久清纯| 亚洲午夜久久影院| 亚洲日韩欧美一区久久久久我| 97久久精品无码一区二区天美| 国内精品久久久久久久久电影网| 99久久国产亚洲高清观看2024| 国产国产成人久久精品| 精品综合久久久久久97超人| 国产精品久久久久无码av | 亚洲国产一成久久精品国产成人综合 | 亚洲AⅤ优女AV综合久久久| 亚洲国产精品久久久久婷婷软件| 国产精品免费久久| 久久精品中文无码资源站| 色综合久久天天综合| 日产精品久久久久久久| 久久亚洲精品视频| 狠狠色丁香久久婷婷综合| 国内精品久久久久久麻豆 | 国产午夜精品理论片久久影视| 久久精品国产亚洲av瑜伽| 久久香蕉综合色一综合色88| 国产成人精品综合久久久| 一个色综合久久| 亚洲伊人久久综合影院| 精品99久久aaa一级毛片| 狠狠色婷婷综合天天久久丁香| 99久久精品免费看国产一区二区三区 | 国产L精品国产亚洲区久久| 亚洲国产精品无码久久九九 | 日本精品久久久中文字幕| 免费精品国产日韩热久久| 久久精品这里只有精99品| 婷婷久久综合九色综合九七| 久久人人爽人人爽人人片AV不| 欧美日韩中文字幕久久伊人| 亚洲精品美女久久久久99| 亚洲va中文字幕无码久久不卡| 中文成人无码精品久久久不卡|