I believe that I have a new algorithm for touring the permutations of a list. I have never formally studied Computer Science, so I do not know quite how to present my idea to a computer scientist. I have developed my idea through an insight into multi-dimensional geometry. (Nor am I professionally trained in Mathematics.)
My algorithm is different to the Heaps algorithm in that the positions of adjacent members of the list are exchanged at every step.
I have developed a little field of algebra which has helped me to define my algorithm.
If anybody responds with interest I'll be pleased to put in the effort required to translate my ideas into something that others can more readily understand.
:) Mark