generate De Bruijn sequence memory and string vs lists

Vincent Davis vincent at vincentdavis.net
Thu Jan 23 14:50:17 EST 2014


On Thu, Jan 23, 2014 at 12:02 PM, Peter Otten <__peter__ at web.de> wrote:
>
> I just noted that the first Python loop can be eliminated:
>
> def debruijn(k, n):
>     a = k * n * bytearray([0])
>     sequence = bytearray()
>     extend = sequence.extend # factor out method lookup
>     def db(t, p):
>         if t > n:
>             if n % p == 0:
>                 extend(a[1: p+1])
>         else:
>             a[t] = a[t - p]
>             db(t + 1, p)
>             for j in xrange(a[t - p] + 1, k):
>                 a[t] = j
>                 db(t + 1, t)
>     db(1, 1)
>     return sequence.translate(_mapping)


I am not really sure what _mapping should be. The code above does not run
because
NameError: global name '_mapping' is not defined
I tried to get the bytearray
​ ​
sequence to convert to ascii but don't know how to.


Vincent Davis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20140123/4c613100/attachment.html>


More information about the Python-list mailing list