This week's book giveaway is in the Big Data forum. We're giving away four copies of Elasticsearch in Action and have Radu Gheorghe & Matthew Lee Hinman on-line! See this thread for details.

I am working on the set cover problem and I would really appreciate some help.

I wanted to create another java program which does the following:

Input: different sizes of sets and the universe, letâ€™s say that the universe contains elements 1 through 100.
The program will create all the combinations of sets to find out what is the smaller number of sets that cover the universe. Following is an example:

The program will generate all the combinations of the above sets. It will start with individual sets, and then it will make all possible combinations of two sets, then three,..... For the above example, it will generate 32 sets.

and then it will output that set2 and set5 cover the universe.

I was wondering if anyone could share the algorithm or pseudo code for the above example, so that I can write a java program based on that. I already wrote a program based on the greedy method. For some reason, I can not figure out how to start writing this program and If someone could show me the algorithm/pseudo-code, I would greatly appreciate it. Thanks so much in advance.