Java 子集置换和后续运行时分析
我有两个问题:Java 子集置换和后续运行时分析,java,algorithm,permutation,combinations,Java,Algorithm,Permutation,Combinations,我有两个问题: 我想生成子集的排列,例如,有20个可能的氨基酸和5个可能出现的位置。(在文本中)可能发生的总排列是什么 一旦我有了这个排列列表,某些值将分配给每个排列,我想在运行时查找任何给定的排列。首先想到的是一个查找表,但我想知道是否有更好的方法 您需要长度为5的组合,而不是排列。这是一个标准问题,可以通过递归来解决。如果您不想自己写,请使用 使用碱20对组合进行编号(不要与碱的化学定义混淆)。如果要存储有限组合子集的数据,请使用哈希表;如果要存储大多数组合的数据,请使用查找数组 你甚至可以
你甚至可以在只使用几乎所有排列的情况下使用数组,它可能仍然更有效(你必须运行性能测试才能找到阈值)。我认为这不是OP想要的。听起来他实际上对组合或排列感兴趣(“有20种可能的氨基酸和5种可能出现的位置”),但绝对不是排列。@这就是我的意思,我会澄清的@艾夫拉德:你说得对,我会改变的。非常感谢,你的回答真的很有帮助