前面的熱心網(wǎng)友回答的那種窮舉法可以,但比較耗時(shí)且不易擴(kuò)展.
全排列問(wèn)題其實(shí)就是一個(gè)深度搜索的問(wèn)題,一般采取回溯法來(lái)解決.
當(dāng)然就具體問(wèn)題還要考慮剪枝等細(xì)節(jié)問(wèn)題,不過(guò)你這里只是全排列就不用考慮那么多了.
比較有名的題目是八皇后問(wèn)題.
下面給一個(gè)全排列問(wèn)題的遞歸解法,改變N的值可以對(duì)不同數(shù)進(jìn)行全排列.
如果要求輸入n來(lái)全排列的話把數(shù)組a改成動(dòng)態(tài)分配,并作為參數(shù)送入各個(gè)函數(shù)就行了.
#include <iostream>
using namespace std;
#define N 3
int a[N];
void printSeq()
{
for(int i=0; i<N; i++) cout << a[i] << " ";
cout << endl;
}
bool isok(int i, int k)
{
for(int j=0; j<i; j++)
{
if(a[j] == k) return false;
}
return true;
}
void calcSeq(int i)
{
if(i==N) printSeq();
else
{
for(int k=1; k<=N; k++)
{
if(isok(i, k))
{
a[i] = k;
calcSeq(i+1);
}
}
}
}
int main()
{
calcSeq(0);
return 0;
}
另外也有非遞歸解法,模擬一個(gè)棧來(lái)做
幾種求排列數(shù)的方法
幾種求排列數(shù)的方法
例如:給出n=3
求得所有的排列數(shù)為 1 2 3 ,1 3 2,2 1 3,2 3 1,3 1 2 ,3 2 1
一共有幾種算法可以求出這個(gè)結(jié)果呀?
例如:給出n=3
求得所有的排列數(shù)為 1 2 3 ,1 3 2,2 1 3,2 3 1,3 1 2 ,3 2 1
一共有幾種算法可以求出這個(gè)結(jié)果呀?
其他人氣:779 ℃時(shí)間:2020-05-24 14:04:47
優(yōu)質(zhì)解答
我來(lái)回答
類似推薦
- 1、2、3、4四個(gè)數(shù)共有幾種排列方法
- 1到6,3個(gè)數(shù)字一組,有幾種排列法?
- 1到6,3個(gè)數(shù)字一組,有幾種排列法,把重復(fù)的組,還剩下幾種排列法?
- 6個(gè)數(shù)取3個(gè)不同的數(shù)的組合有幾種組法?
- 有什么方法可以把組合的數(shù)全部寫出來(lái)
- 比值是七分之一的比有幾個(gè)?是怎么解的?最好有算式!急
- 只要是“to+動(dòng)詞原形”就是動(dòng)詞不定式嗎?
- 如夢(mèng)令 李清照 思想、主題、意境
- 馬說(shuō)一文里對(duì)“食馬者”的無(wú)知發(fā)出強(qiáng)烈譴責(zé)的語(yǔ)句是什么?
- 一塊紅綢,長(zhǎng)2.4米,寬70厘米.要做直角邊分別為8厘米,5厘米的三角形小旗,可以做幾面?
- 已知∠AOB與∠BOC互為補(bǔ)角,OD是∠AOB的平分線,OE在∠BOC內(nèi),∠BOE=1/2∠EOC,∠DOE=72°,求∠EOC的度數(shù).
- 九牛一毛、滄海一粟這二個(gè)詞表現(xiàn)了什么?
猜你喜歡
- 1怎樣判斷一個(gè)有機(jī)物分子式平面結(jié)構(gòu)還是立體結(jié)構(gòu)
- 2求一套九年級(jí)一元二次方程整章的數(shù)學(xué)卷
- 3in the summer of 1980 a spanish tourist ,Gasper Carner,went to Great Britai
- 4除了攝氏溫度計(jì),還有什么溫度計(jì)呢?
- 5為什么要保護(hù)野生動(dòng)物和野生植物?
- 6水稻畝產(chǎn)量的世界紀(jì)錄是多少
- 7請(qǐng)你算一算: 松鼠媽媽采松子,晴天每天可采20個(gè),雨天每天可采12個(gè),它一連幾天采了112個(gè)松子,平均每天采14個(gè),問(wèn)這幾天中有幾天晴天,幾天是雨天?
- 8若m2+n2-6n+4m+13=0,m2-n2=_.
- 9商店運(yùn)來(lái)蘋果500千克,蘋果比梨子少4分之1,梨子有多少千克?
- 10質(zhì)量為M1的木板靜止在光滑的水平面上,在木板上放一質(zhì)量為M2的木塊.現(xiàn)給木塊一個(gè)相對(duì)于地面的水平速度V0,已知木塊與木板間的動(dòng)摩擦因數(shù)為u,木板足夠長(zhǎng)
- 11一次函數(shù) y=-2x+3 是否在(4,-10)上
- 12兩情若是久長(zhǎng)時(shí) 又豈在朝朝暮暮