首页 > 代码库 > De Bruijn序列

De Bruijn序列

最近文章中经常出现及De Bruijin 这个关键字,网上搜索了一下,记录下来。

De Bruijn序列 

 

问题:能否构造一个长度为2的n次方的二进制环状串,使得二进制环状串中总共2的n次方个长为n的不同截断作为2的n次方个长为n的二进制串来说互不相同。
1946年,荷兰数学家De Bruijn解决了这个问题。

 

这种序列,就是De Bruijn序列。

 

例如,当n为2时,这样的环状串可以是:0011,它的4个长度为2的子串分别为00、01、11、10,这四个子串互不相同。
详情参考:http://en.wikipedia.org/wiki/De_Bruijn_sequence

 


技术分享
De Bruijn路径。如果恰好遍历每条边一次并且回到起始点,那么每四个数的序列会出现正好一次(欧拉环)。如果遍历过程中刚好访问每个节点一次,那么每三个字的序列出现正好一次(汉密顿路径)
De Bruijn序列的生成及其应用

 

De Bruijn序列