nthperm

版本 1.0.0.0 (4.2 KB) 作者: Peter Li
Directly compute Nth lexicographic permutation
380.0 次下载
更新时间 2013/12/31

查看许可证

Given a SORTED input vector V and positive integer n, rearranges V into its Nth lexicographic permutation. V must be SORTED or the behavior will not be correct. Sorted has flexible meaning however; see internal documentation.

Compare this with the output of my NEXTPERMS submission, which generates a series of sequential lexicographic pemutations in blocks. This instead generates the Nth permutation directly by a factorial radix rebasing; see http://en.wikipedia.org/wiki/Factorial_number_system for more information.

This will be much more efficient than running through the permutations sequentially if the desired permutation is deep in a large set.

Mex C++ and pure Matlab both provided; they should hopefully behave identically.

Basically the same idea as ONEPERM submission, but that submission generates the permutations in a recursive order, similar to the behavior of Matlab's PERMS. NTHPERM generates the permutation in lexicographic order to match NEXTPERMS, which is based on the C++ STL next_permutation function.

引用格式

Peter Li (2024). nthperm (https://www.mathworks.com/matlabcentral/fileexchange/44887-nthperm), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2012a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 2-D and 3-D Plots 的更多信息
致谢

参考作品: ONEPERM

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0.0