我正在尝试推导一种算法,该算法生成特定大小的所有可能组合,例如接受字符数组和大小作为其参数并返回组合数组的函数。
示例:假设我们有一组字符:Set A = {A,B,C}
a) 大小 2 的所有可能组合:(3^2 = 9)
AA, AB, AC
BA, BB, BC
CA, CB, CC
b) 大小 3 的所有可能组合:(3^3 = 27)
AAA, AAB, AAC,
ABA, ABB, ACC,
CAA, BAA, BAC,
.... ad so on total combinations = 27
请注意,对的大小可能大于种群的总大小。前任。如果集合包含 3 个字符,那么我们也可以创建大小为 4 的组合。
编辑:另请注意,这与排列不同。在排列中,我们不能有重复的字符,例如,如果我们使用排列算法,就不能出现 AA。在统计学中,它被称为抽样。
原文由 asim-ishaq 发布,翻译遵循 CC BY-SA 4.0 许可协议
我会使用递归函数。这是一个带有评论的(工作)示例。希望这对你有用!