最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

回溯法-全排列算法

2023-06-23 15:25 作者:算法設(shè)計(jì)與分析張老師  | 我要投稿

1、常規(guī)全排列算法

#include<iostream>?

#include<algorithm>

using namespace std;?

int x[100],n,sum=0;

void backtrack(int t)

{

if(t>n) {

for(int i=1;i<=n;i++)cout<<" "<<x[i];

cout<<"\n";

sum++;

}

else{

for(int i=t;i<=n;i++){


{

swap(x[t],x[i]);

backtrack(t+1);

swap(x[t],x[i]);

}

}

? ??

}

}

int main()

{

cin>>n;

for(int i=1;i<=n;i++) cin>>x[i];?

cout<<"---------\n";

backtrack(1);

cout<<"---------\n";

cout<<"sum="<<sum;

return 0;

}

2、有重復(fù)元素的去重復(fù)排列算法

#include<iostream>?

#include<algorithm>

using namespace std;?

int x[100],n,sum=0;

void backtrack(int t)

{

if(t>n) {

for(int i=1;i<=n;i++)cout<<" "<<x[i];

cout<<"\n";

sum++;

}

else{

for(int i=t;i<=n;i++){

int ok=1;

for(int j=t;j<i;j++)

if(x[j]==x[i]) ok=0;

if(ok)

{

swap(x[t],x[i]);

backtrack(t+1);

swap(x[t],x[i]);

}

}

? ??

}

}




int main()

{

cin>>n;

for(int i=1;i<=n;i++) cin>>x[i];?

cout<<"---------\n";

backtrack(1);

cout<<"---------\n";

cout<<"sum="<<sum;

return 0;

}

3、無(wú)重復(fù)元素的去鏡像排列算法

#include<iostream>?

#include<algorithm>

using namespace std;?

int x[100],n,sum=0;

void backtrack(int t)

{

if(t==n) {

for(int i=1;i<=n;i++)cout<<" "<<x[i];

cout<<"\n";

sum++;

}

else{

for(int i=t;i<=n-1;i++){


{

swap(x[t],x[i]);

backtrack(t+1);

swap(x[t],x[i]);

}

}

? ??

}

}

void demirror()

{

for(int i=1;i<n;i++)

{


? ?swap(x[1],x[i]);

? ?for(int j=i+1;j<=n;j++)

? ?{

? ? ?swap(x[n],x[j]);

? ? ?backtrack(2);

? ? ?swap(x[n],x[j]);

? ?}

? ?swap(x[1],x[i]);

? ? }

}


int main()

{

cin>>n;

for(int i=1;i<=n;i++) cin>>x[i];?

cout<<"---------\n";

demirror();

cout<<"---------\n";

cout<<"sum="<<sum;

return 0;

}


回溯法-全排列算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
林甸县| 平安县| 子长县| 武乡县| 麻栗坡县| 深州市| 会东县| 茂名市| 武山县| 侯马市| 柳河县| 安乡县| 上饶县| 通许县| 辛集市| 山西省| 吉水县| 乌兰察布市| 华蓥市| 蕲春县| 秦安县| 宁夏| 商城县| 万盛区| 汝南县| 台北市| 井研县| 丽水市| 兴海县| 肇庆市| 平利县| 水富县| 凉城县| 广丰县| 荆门市| 石嘴山市| 桓台县| 固原市| 浏阳市| 南澳县| 隆德县|