- 3
- 0
- 约1.08千字
- 约 12页
- 2017-07-27 发布于河南
- 举报
全阵列输出算法
输出排列算法;一、第一种递归算法;Void Permutations1(int t,int *x)
{
??????int i;
????? if(t==N)
?????? {
???????????Output(x);
?????? }
?????? else
?????? {
????????????for(i=t;i=N;i++)
????????????{
?????????????????swap(x[t],x[i]);
???????????????? Permutations1 (t+1,x);
?????????????????swap(x[i],x[t]); ??????
?}
?????? }
};void Output(int *x)
{?for(int i=1;i=N;i++)
printf(“%d ”,x[i]);
printf(“\n”);
}
void swap(int a,int b)
{?int p;?p=a;?a=b;?b=p;
};#define N 5
void main()
{ ?int x[N+1]; int i=0;
?for(i=1;i=N;i++)? x[i]=i;? Permutations1 (1,x);
?}
;时间复杂度 O(nn!);;二、第二种递归算法;Void Permutations2(int m,int *P)
{
??????int i;
????? if(m==0) Output(P);
??????else
??????{
???????????for(i=1;i=n;i++)
??????????{
???????????????if(P[j]==0){
P[j]=m;
?????????????? Permutations2(m-1,P);
??????????????? P[j]=0; ?
}?????
}
????? }
};时间复杂度 O(nn!);;三、字典序法
;字典序算法如下:
23451是数字1…5的一个排列。从它生成下一个排列的步骤如下: 自右至左找出排列中第一个比右边数字小的数字4 ,在该数字后的数字中找出比4大的数中最小的一个5,将5和4交换得到
23541,在将41倒序得到23514 ,所
以23451的下一个排列是23514 。;
您可能关注的文档
最近下载
- 2025年陕西省中考数学真题试卷含答案.pdf VIP
- 一年级英语寒假作业.pdf VIP
- 微生物技术 走进微生物世界 微生物技术—走进微生物世界.pptx VIP
- 《植物组织培养》课程教学大纲(本科).pdf VIP
- 2025年重庆市公务员省考《行测》联考真题(含答案).pdf VIP
- 2026年一年级英语【寒假作业】.docx VIP
- 抽象函数的单调性.doc VIP
- 2025年重庆市公务员考试行测真题及答案详解(最新).docx VIP
- 2025年特许金融分析师私募股权投资中的公司尽职调查专题试卷及解析.pdf VIP
- 2025年金融风险管理师久期与债券流动性风险的交互影响专题试卷及解析.pdf VIP
原创力文档

文档评论(0)