00001
00007 #ifndef TREE_GENERATOR_HPP
00008 #define TREE_GENERATOR_HPP
00009
00010 #include "Tree.hpp"
00011
00019 class TreeGenerator
00020 {
00021 public:
00027 TreeGenerator( unsigned int numVertices );
00031 ~TreeGenerator();
00032
00033
00034
00035
00045 bool nextTree( Tree & t );
00046
00047 private:
00048 unsigned int mNumVertices;
00049 int *L;
00050 int *currentLevelSequence;
00051
00052 int p;
00053 int q;
00054 int h1;
00055 int h2;
00056 int c;
00057 int r;
00058
00059 bool firstTime;
00060
00061 void generateFirstLevelSequence();
00062 void generateNextLevelSequence();
00063 };
00064
00065 #endif