File Exchange

image thumbnail

ALL PERMUTATIONS OF SEQUENCE

version 1.0.0.0 (1.34 KB) by Sandeep Solanki
Generates All Permutations of a sequence

0 Downloads

Updated 18 Jul 2012

View License

% Syntax
% "b = allperm(n)" Generates all permutations of Sequence [1:n].
%
% Input :
% n : Greatest Number in Sequence
%
% Output :
% b : output as cell array
%
% Example 1.
% b = allperm(2)
% b =
% {[1 2],[2 1]}
%
% Example 2.
% b = allperm(3)
% b =
% {[1 2 3],[1 3 2],[2 1 3],[2 3 1],[3 1 2],[3 2 1]}
%
% order may be different
%
% Programmed By :
% - Sandeep Solanki
% - rtm_sandeep@rediffmail.com

Cite As

Sandeep Solanki (2020). ALL PERMUTATIONS OF SEQUENCE (https://www.mathworks.com/matlabcentral/fileexchange/37558-all-permutations-of-sequence), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Finding all permutations by random generation-and-checking is extremely inefficient.

Jan

Jan

This is an extremly inefficient implementation. It creates random permutations by the (slow) RANDPERM in an infinite loop (for i=1:inf). Then inn a FOR loop it is checked, if the perumtation is stored already. For n=10 this takes ages.
Beside Matlab's RANDPERM you find several more efficient solutions in the FEX.

Bruno Luong

See MATLAB perms

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: uniqueperms