我有一套不同的价值观.我正在寻找一种方法来生成此集合的所有分区,即将集合划分为子集的所有可能方式.
例如,该集{1, 2, 3}具有以下分区:
{ {1}, {2}, {3} },
{ {1, 2}, {3} },
{ {1, 3}, {2} },
{ {1}, {2, 3} },
{ {1, 2, 3} }.
Run Code Online (Sandbox Code Playgroud)
由于这些是数学意义上的集合,因此顺序无关紧要.例如,{1, 2}, {3}是相同的,{3}, {2, 1}也不应该是单独的结果.
可以在Wikipedia上找到集合分区的完整定义.