A de Bruijn graph represents relationships between strings. An alphabet of
`m`

letters are used and strings of length `n`

are considered. A
vertex corresponds to every possible string and there is a directed edge
from vertex `v`

to vertex `w`

if the string of `v`

can be
transformed into the string of `w`

by removing its first letter and
appending a letter to it.

Please note that the graph will have `m`

to the power `n`

vertices
and even more edges, so probably you don't want to supply too big numbers
for `m`

and `n`

.

De Bruijn graphs have some interesting properties, please see another
source, eg. Wikipedia for details.