poster
2019-12-10, 20:48
我的头被困在寻找解决我的问题的算法。
假设我有N数字(说4),并且我想拥有所有X分区(X = N / 2)
例:
{1,2,3,4}的2个分区为:(1,2)(1,3)(1,4)(2,3)(2,4)(3,4)[简单来说:所有组合]
我不知道如何生成这些组合。如果你们中的某个人有个主意(我不在乎什么语言。伪代码完全够用。我不在乎它是迭代式的还是显式的)。
最好的问候,Bigbohne
回答:
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中非常慢...
更多&回答... (https://stackoverflow.com/questions/3660179)
假设我有N数字(说4),并且我想拥有所有X分区(X = N / 2)
例:
{1,2,3,4}的2个分区为:(1,2)(1,3)(1,4)(2,3)(2,4)(3,4)[简单来说:所有组合]
我不知道如何生成这些组合。如果你们中的某个人有个主意(我不在乎什么语言。伪代码完全够用。我不在乎它是迭代式的还是显式的)。
最好的问候,Bigbohne
回答:
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中非常慢...
更多&回答... (https://stackoverflow.com/questions/3660179)