piy*_*ukr 9 string algorithm combinations combinatorics backtracking
多集是一个集合,其中所有元素可能不唯一.如何枚举集合元素中的所有可能的排列?
小智 13
生成所有可能的排列然后丢弃重复的排列是非常低效的.存在各种算法以按字典顺序或其他种类的顺序直接生成多集的排列.高冈的算法是一个很好的例子,但可能是亚伦威廉姆斯的算法更好
http://webhome.csc.uvic.ca/~haron/CoolMulti.pdf
而且,它已在R包''multicool''中实现.
顺便说一句,如果你只想要不同排列的总数,那么答案就是多项式系数:例如,如果你有n_a个元素'a',n_b个元素'b',n_c个元素'c',总数是不同的排列是(n_a + n_b + n_c)!/(n_a!n_b!n_c!)
| 归档时间: |
|
| 查看次数: |
7066 次 |
| 最近记录: |