quickperm全排列算法分析解释
这个算法用来生成N个元素的可重复全排列。
算法官网:http://www.quickperm.org/
算法描述:
The Counting QuickPerm Algorithm: let a[] represent an arbitrary list of objects to permute let N equal the length of a[] create an integer array p[] of size N to control the iteration initialize p[0] to 0, p[1] to 0, p[2] to 0, ..., and p[N-1] to 0 initialize index variable i to 1 while (i < N) do { if (p[i] < i) then { if i is odd, then let j = p[i] otherwise let j = 0 swap(a[j], a[i]) increment p[i] by 1 let i = 1 (reset i to 1) } // end if else { // (p[i] equals i) let p[i] = 0 (reset p[i] to 0) increment i by 1 } // end else (p[i] equals i) } // end while (i < N)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论