Efficient algorithms for listing combinatorial structures 1. Introduction. 1.1. Families of Combinatorial Structures. 1.2. Motivation. 1.3. Listing Algorithms. 1.4. Efficient Listing Algorithms. 1.5. Synopsis of the Thesis. 1.6. Bibliographic Notes 2. Techniques for Listing Combinatorial Structures. 2.1. Basic Building Blocks. 2.2. Using Listing Algorithms for Closely Related Families. 2.3. Avoiding Duplicates 3. Applications to Particular Families of Structures. 3.1. First Order Graph Properties. 3.2. Hamiltonian Graphs. 3.3. Graphs with Cliques of Specified Sizes. 3.4. Graphs which can be Colored with a Specified Number of Colors 4. Directions for Future Work on Listing 5. Related Results. 5.1. Comparing Listing with other Computational Problems. 5.2. Evaluating the Cycle Index Polynomial. 6. Bibliography First published in 1993 this thesis is concerned with the design of efficient algorithms for listing combinatorial structures. The research described here gives some answers to the following questions: which families of combinatorial structures have fast computer algorithms for listing their members What general methods are useful for listing combinatorial structures How can these be applied to those families which are of interest to theoretical computer scientists and combinatorialists Amongst those families considered are unlabelled graphs first order one properties Hamiltonian graphs graphs with cliques of specified order and k colourable graphs. Some related work is also included which compares the listing problem with the difficulty of solving the existence problem the construction problem the random sampling problem and the counting problem. In particular the difficulty of evaluating Pólyas cycle polynomial is demonstrated