相关疑难解决方法(0)

通过交换两位(不按字典顺序)排列二进制数字的排列

我正在寻找一种算法,它计算给定长度(n)和位数(k)的位串的所有排列.例如,while n=4k=2算法应输出:

1100
1010
1001
0011
0101
0110
Run Code Online (Sandbox Code Playgroud)

我知道Gosper的Hack,它以字典顺序生成所需的排列.但我需要以这样的方式生成它们,即两个连续的排列仅在两个(或至少是一个恒定数量的)位置上不同(如上例中所示).这样做的另一个好处是很棒,但算法描述也会帮助我很多.

algorithm permutation combinatorics bit

6
推荐指数
1
解决办法
1162
查看次数

标签 统计

algorithm ×1

bit ×1

combinatorics ×1

permutation ×1