1、增量構造法:
一次選出一個元素放到集合中,由于集合中的元素是無序的,是以我們從小到大生成所有元素。每次選擇的元素都要比之前的大。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SMlVGO0EGM4YWY1YDZwUWZzAjZjhDOjBDMkJjMiZ2Mw8CX2AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL5M3Lc9CX6MHc0RHaiojIsJye.png)
如上圖,生成 {1, 2, 3} 的子集過程中的解答樹。 共有2^n個節點(8個),每個節點都是解。
2、位向量法
每次有選和不選兩種情況
{1 ,2 ,3} 子集的解答數 總共有 1+2+4+ … +2^n= 2^(n+1)-1 個節點
3、二進制法
用整數的二進制表示來枚舉各種子集
空集為0 ,全集為ALL_BITS=(1<<n)-1
1、增量構造法:
一次選出一個元素放到集合中,由于集合中的元素是無序的,是以我們從小到大生成所有元素。每次選擇的元素都要比之前的大。
如上圖,生成 {1, 2, 3} 的子集過程中的解答樹。 共有2^n個節點(8個),每個節點都是解。
2、位向量法
每次有選和不選兩種情況
{1 ,2 ,3} 子集的解答數 總共有 1+2+4+ … +2^n= 2^(n+1)-1 個節點
3、二進制法
用整數的二進制表示來枚舉各種子集
空集為0 ,全集為ALL_BITS=(1<<n)-1