关于分治和递归的几点思考 有关全排序问题
来源:互联网 发布:月目标计算法 编辑:程序博客网 时间:2024/06/06 15:04
自己认为这就是permutation 的函数的内容:
对于全排序来讲{1,2,3,4}
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 3 2
1 4 2 3
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 3 1
2 4 1 3
3 2 1 4
3 2 4 1
3 1 2 4
3 1 4 2
3 4 1 2
3 4 2 1
4 2 3 1
4 2 1 3
4 3 2 1
4 3 1 2
4 1 3 2
4 1 2 3
总共产生24种排列
用分治和递归的思想来解释这种问题
对于两个数来讲 直接交换位置就会出现两种情况
对于三个数来讲 将其中1个数提到最前面参考两个数的排序
对于四个数来讲 讲其中1个数提到最前面参考三个数的排序
------------------------------等等
#include<stdio.h>#include<iostream>#include<stdlib.h>using namespace std;int a[4]={1,2,3,4};void Perm(int beg,int end){ if(beg==end){ int i; for(i=0;i<4;i++) printf("%d ",a[i]); printf("\n"); } for(int i=beg;i<=end;i++){ swap(a[i],a[beg]); //将每一个数提到最前面 Perm(beg+1,end); swap(a[i],a[beg]); //复原 }}int main(){ int beg,end; while(scanf("%d%d",&beg,&end)!=EOF){ //输入0 3 就可产生全排序 Perm(beg,end); } }
- 关于分治和递归的几点思考 有关全排序问题
- 有关快速排序的几点思考
- 关于几点问题的几点小思考
- 对分治算法的几点思考
- 有关项目的几点思考
- 关于对LinkedIn和企业档案的几点思考
- 关于git和maven使用的几点思考
- 关于核函数和SVM的几点思考
- 关于创办软件公司的几点思考
- 关于职业规划的几点思考
- 关于设计模式的几点思考
- 关于创办软件公司的几点思考
- 关于软件的几点思考
- 关于软件设计的几点思考
- 关于Bellman-Ford的几点思考
- 几点关于学习的思考
- 关于库接口的几点思考
- 关于MVC的几点思考
- SAP实现多个统御科目:特殊总账SGL+备选统驭科目Alternative Reconciliation Accounts
- tpcc-mysql安装与使用
- 纠结的SSH框架
- php crul 中文乱码问题解决
- hdu 2046
- 关于分治和递归的几点思考 有关全排序问题
- ios 自定义cell右侧的图片显示
- css hack 总结 不断更新
- Latex提供预览功能的宏包preview
- ZOJ 3681 E - Cup 2
- JproFiler连接远程(本地)Linux服务器(超简便)
- HTML5开源游戏引擎lufylegend1.7.0发布
- linux系统资源限制
- 关于Visual Studio 2010调试窗口一闪而过的解决方法