德·布鲁因图
对于m 个符号的n 维德·布鲁因有向图记为B(m,n),其中包含mn 个节点,每个节点是由m 个符号序列组成的长度为n 的序列。
给定m 个符号集合S={s1,⋯,sm},那么对应的节点集合为
V=Sn={(s1,…,s1,s1),(s1,…,s1,s2),…,(s1,…,s1,sm),(s1,…,s2,s1),…,(sm,…,sm,sm)}
对应的边集合定义:如果一个节点对应的序列可以由另一个节点的对应的序列向左平移一位并加上另一个节点得到,那么这两个节点间存在一条有向边。形式化定义如下
E={((t1,t2,…,tn),(t2,…,tn,sj)):ti∈S,1≤i≤n,1≤j≤m}
具备以下属性:
- 如果n=1 表示任一节点间存在边相连,因此图中包含m2 条边。
- 每个节点包含m 条出边和m 条入边。
- n 维的德·布鲁因图是等价于n−1 维德·布鲁因图的线图,对应的节点结合相同。
- 每个德·布鲁因图都是欧拉型和哈密顿型,即欧拉路径和哈密顿路径是德布鲁因序列。
德·布鲁因图如下所示:
线图
在图论中,一个无向图G 的线图表示为L(G),它表示G 的边之间的邻接关系。
L(G) 的构造方法如下:
- 对于G 中的每一条边,在L(G) 中对应一个顶点;
- 对于G 中每两条有一个共同顶点的边,在L(G) 中它们对应的顶点之间做一条边。
例如对于一个简单图,构造过程如下: