Next permutation
Next Permutation
Do you know what a permutation is?
Yes
Can you tell the next lexicographic permutation for {2, 1, 3}
?
- No
What is the permutation of {1, 2, 3}
?
{1, 2, 3}
{1, 3, 2}
{2, 1, 3}
{2, 3, 1}
{3, 1, 2}
{3, 2, 1}
What are the bounds of the above permutations?
From {1, 2, 3}
,strictly increasing to {3, 2, 1}
,strictly decreasing.
Can we say that a strictly decreasing arrangement has run out of its permutation?
Yes
What is the direction of making a permutation?
From left to right
Whats the direction of backtracking a permutation?
From right to left
Whats a strictly decreasing arrangement in {1, 3, 2}
from end?
{3, 2}
Whats a strictly decreasing arrangement in {2, 1, 3}
from end?
-
{3}
Arrangement Vacant {2, 1}
{3}
Have we run out of arrangements for 1
?
Yes
What should replace 1
?
The next successor in the vacant pool
Arrangement | Vacant |
---|---|
{2, 3} | {1} |
What should the next step be?
Appending sorted Vacant to the Arrangement because every new permutation starts sorted
Arrangement | Vacant |
---|---|
{2, 3, 1} | {} |
Is {2, 3, 1}
the next permutation after {2, 1, 3}
?
Yes
Heres another, {4, 6, 2, 3, 8, 5, 1}
Arrangement | Vacant |
---|---|
{4, 6, 2, 3, 8, 5, 1} | {} |
Determining the strictly decreasing arrangement from end
Arrangement | Vacant |
---|---|
{4, 6, 2, 3, *8, 5, 1*} | {} |
Moving the strictly decreasing to Vacant space
Arrangement | Vacant |
---|---|
{4, 6, 2, 3} | {8, 5, 1} |
3
has run out of its arrangements, its successor in Vacant space is 5
. Replacing 3
with 5
Arrangement | Vacant |
---|---|
{4, 6, 2, 5} | {8, 3, 1} |
Sorting Vacant space and appending to Arrangement
Arrangement | Vacant |
---|---|
{4, 6, 2, 5, 1, 3, 8} | {} |
← Back to notes