全排列的生成方法
来源:互联网 发布:笔记本触摸屏校准软件 编辑:程序博客网 时间:2024/05/17 22:11
本文主要记录一下对全排列问题的理解,以及一种全排列的生成方法。
全排列问题,本质上就是一个解空间的遍历问题。
对于三个整数1,2,3的全排列问题,记其解空间为:
O(1,2,3)={
(1,2,3),
(1,3,2),
(2,1,3),
(2,3,1),
(3,1,2),
(3,2,1)
}.
如果需要按照解空间中各个解的出现顺序遍历该解空间(或者给定一个解,求其后续解),
那么就需要分析各个解的关系。
此处:
记:
若解中,存在b(n) < b(n+1) [n>0],则n为递增点
若b(n+1)不存在,则n也为递增点
若n不为递增点则n为非递增点
则该处解与下一个解的关系可表示为:
k=max{n|n为递增点} [若递增点不存在,则为最后一个解]
逆向搜索解中满足b(n)>b(k)的第一个n值
将b(n)与b(k)交换,
递增排序b(b+1)及后续序列,
即可得到下一个解。
此方法有较大改进空间!
0 0
- 全排列的生成方法
- 生成全排列的一些方法
- 生成全排列的两种方法
- 生成全排列的省事方法
- 全排列的生成
- 全排列的生成
- 全排列的生成
- 浅谈生成全排列的4种方法
- 两种生成全排列序列的方法
- 生成字符串的全排列
- 全排列的生成算法
- 全排列的生成算法
- 全排列的生成算法
- 生成字符串的全排列
- 全排列的生成算法
- 全排列的生成算法
- 全排列的生成算法
- 全排列的生成算法
- iOS UILabel显示HTML文本
- 适配器模式
- 将一个控件的imMode设为imClose之后, 其他控件的imMode也会变为imClose
- CQU数字逻辑实验——交通灯系统设计
- 反射
- 全排列的生成方法
- 张小龙的产品设计哲学
- Object基础语法Category、Extension、Protocol
- #11 Container With Most Water
- C++标准输出流详解
- servlet3.0 异步处理
- POJ 1318 && HDU 1113 Word Amalgamation(水~)
- Android开发遇到的一些小坑洼
- tr命令和sed命令详解举例