擅长:python、mysql、java
<p>通过这段代码,您可以生成时间复杂度高达n/O(2^int(log(n))的二进制数列表。</p>
<pre><code>
import math
num=25
n=int(math.log(num,2))
x=['0','1']
for i in range(1,int(n)+1):
for j in range(0,2**i):
x.append('1'+x[j])
x[j]='0'+x[j]
print(x[0:num])
</code></pre>
<p>输出:</p>
<pre><code>['00000', '00001', '00010', '00011', '00100', '00101', '00110', '00111', '01000', '01001', '01010', '01011', '01100', '01101', '01110', '01111', '10000', '10001', '10010', '10011', '10100', '10101', '10110', '10111', '11000']
</code></pre>
<p>希望这有帮助</p>