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.