求集合的冪集

2021-06-06 21:42:03 字數 537 閱讀 4963

集合的冪集a = , 則a的冪集為:, , , , , ,φ}。對於求a集合的冪集,a中的元素它只有兩中狀態,它或屬於冪集的元素集,或者不屬於冪集的元素集。求冪集的過程可以看成是對a中元素進行「取」或「舍」的過程。狀態樹如下:葉子節點表示終結狀態,而第i層的分支節點,則表示已對集合a中前i-1個元素進行了取/舍處理的狀態。求冪集的過程即為先序遍歷這可狀態樹的過程。

實現**:

#include#include#includeusing namespace std;

void getpowerset(int i, vectorva, vector&vb)

if (vb.size() == 0)

cout << "空集" ;

cout << endl;

} else

}int main(int argc, char **argv)

求集合的冪集

這是朋友叫我幫他寫的,足足幹了兩天,終於在養好精神後把它做出來了,雖然是遞迴實現的,但總算是弄出來了,兩天時間裡搞了好多遍迴圈來實現,但是寫著寫著就迷糊了,洗了個頭,刷了把臉,人精神了,換了遞迴刺溜一下就寫出來了,手動開心 哈哈哈哈。但是據說還可以用分治法 回溯法 窮舉法來實現哦 include i...

集合的冪集dfs stack

思路n n 20 的值以及s的n個元素 s的冪集 3 abc c b bc a ac ab abc include include include include using namespace std int c 0 stackss void dfs char str int n,int i if...

位元位串求冪集

利用位元位串來求冪集合 date 2020.4.23 利用位元位串來求冪集合 比如 000 j 0 i 0輸出空 001 j 0 i 1 輸出 a 010 j 1 i 2 輸出b 011 j 1 j 0,i 3 輸出 ab,一次類推 100 j 2,i 4 輸出c 101 j 2,j 0,i 5 輸...