在julia中生成所有可能的排列

时间:2015-08-09 23:18:09

标签: binary permutation julia

我想要做的是在给定特定样本大小的情况下生成1和0的所有可能排列。例如,对于n = 8的样本,我希望m = 2 ^ 8 = 256种可能的排列,即:

enter image description here

我一直在用R做这个,但速度很慢。在Julia编程语言中有快速的方法吗?

1 个答案:

答案 0 :(得分:6)

这些只是从02^k-1的数字,用二进制编写。

# Strings
k=8
[ bin(n,k) for n in 0:2^k-1 ]

# Arrays
[ [ bit == '1' ? 1 : 0 for bit in bin(n,k) ] for n in 0:2^k-1 ]