Description
Start with the sample C code, and implement three different methods of generating all N!
permutations of N elements in Java.
Compare the performance of permute1 and permute3 for N = 8, 9, 10, . . .. Be very careful –
permutation runtime is O(N!). It goes through the roof before you know it.
*** Don’t run your code for more than one minute on the departmental servers. ***
You may do performance comparisons on your own machine – just say so in ReadMe.txt. Note that
if the generated permutations are printed to the screen, runtime will be dominated by I/O. Thus
to really compare performance, you should turn off the output in printIt() by commenting out
the print statements.
Prepare a ReadMe.txt. Explain what you have done and special features of your code. Give
some numbers for performance comparisons. Which permute method is faster? Can you explain
why it is faster?
Create a folder Homework5 under the CS 310 folder in your Unix home directory, and deposit
all files in there before 12 PM (noon) on the due date. Late submission gets zero.
If you are interested in the theory behind the permute algorithms, here is a reference:
https://www.cs.princeton.edu/~rs/talks/perms.pdf