我的头脑一直在寻找解决问题的算法。
假设我有 N
个数字(比如说 4),并且我想要拥有所有 X 分区 (X = N/2)
示例:
{1,2,3,4} 的 2-划分为: (1,2) (1,3) (1,4) (2,3) (2,4) (3,4) [简单来说:所有组合]
我不知道如何生成这些组合。如果你们中的某人有一个想法(我不在乎什么语言。伪代码就完全足够了。我不在乎它是迭代的还是显式的)。
最诚挚的问候, 比格博恩
最佳答案
Matlab 有一个函数:
http://www.mathworks.com/help/techdoc/ref/nchoosek.html
>> x = [1,2,3,4]
x =
1 2 3 4
>> nchoosek(x, 2)
ans =
1 2
1 3
1 4
2 3
2 4
3 4
像 maxwellb 这样的循环结构在 matlab 中非常慢......
关于algorithm - Matlab分区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660179/