A variety of combinatorial objects from necklaces to free plane trees to stamp foldings to vertex orderings of chordal graphs are investigated. No interesting object is left behind. The goal is to gain a more thorough understanding of the object in question by considering how to efficiently list all non-isomorphic instances of that object. Another interesting question that arises, is whether or not each instance can be listed so that there is a constant amount of change between successive objects. Such algorithms are called Gray codes.
A platform for disseminating the algoriths describe above is a recent project done in collaboration with Torsten Mütze and Aaron Williams. It is the second generation of the original Combinatorial Object Server by Frank Ruskey that is no longer available. The new community project is called COS++ and it is available at
Delving into graphs also involves careful study of the structure of the specific class of graphs under investigation. Complexity results
are of interest as well as recognition algorithms and forbidden sub-structure characterizations.
The study of de Bruin cycles and universal cycles are of particular interest lately. Some details of their constructions are available at debruijnsequence.org