Bangalore based engineer currently helping SMEs grow via SMERGERS. Interested in
Programming, Design, Startups and a few other things. MS-CS @USC, Los Angeles.

Co-founder @ SMERGERS and WealthBox.in

Johnson trotter algorithm gives a non recursive approach to generate permutations. The algorithm goes something like this..

while there exists a mobile integer k do

-->find the largest mobile integer k;

-->swap k and the adjacent integer its arrow points to;

-->reverse the direction of all integers that are larger than k

-->find the largest mobile integer k;

-->swap k and the adjacent integer its arrow points to;

-->reverse the direction of all integers that are larger than k

I'm using a character flag to maintain the direction of the mobile integers.. the code is simple, suggestions to make it more simple are always welcome

blog comments powered by Disqus