相关疑难解决方法(0)

从数字列表中获取所有可能的组合

我正在寻找一种有效的方法来实现这一目标:

  • 你有一个数字列表1 ..... n(通常:1..5或1..7左右 - 相当小,但可能因情况而异)

  • 你需要这些数字的所有长度的所有组合,例如只有一个数字({1},{2},...... {n})的所有组合,然后是两个不同数字的所有组合({1,2}, {1,3},{1,4} ..... {n-1,n}),然后是这些数字中的三个的所有组合({1,2,3},{1,2,4})等等

基本上,在组内,顺序是无关紧要的,因此{1,2,3}相当于{1,3,2} - 这只是从该列表获取所有x组数的问题

似乎应该有一个简单的算法 - 但到目前为止我徒劳无功.大多数组合和排列算法似乎a)考虑到顺序(例如123不等于132),并且它们似乎总是在单个字符串或数字上运行....

任何人都有一个伟大的,漂亮的'快速算法?

谢谢!

c# algorithm combinatorics

17
推荐指数
3
解决办法
2万
查看次数

标签 统计

algorithm ×1

c# ×1

combinatorics ×1