計算思維實踐之路 八 深度優先搜尋

2021-07-27 04:42:40 字數 786 閱讀 8925

2月19日,多雲。

「小樓一夜聽春雨,深巷明朝賣杏花「。

例1:輸入乙個數n,按字典序從小到大的順序輸出1~n的全排列。兩個序列的字典序大小關係等價於從開始的第乙個不相同位置處的大小關係。例如,(1,3,2)

當n = 3時,所有排序的排序結果是(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。

#include #include #include using namespace std;

int main()

}}// 標記

bool vis[21];

int num[21];

int n, t=1;

void dfs(int n)

else}}

}int main()

return 0;

}

#includeusing namespace std;

int p[38]= ;

// 素數表,資料較小直接打表

int visited[21];

int a[21];

int n;

void dfs(int count)

{ int i;

if(count==n&&p[a[count-1]+1]==1)// // 判斷最後一位是否滿足條件,列印

{cout<>n)

{cout<

八皇后(遞迴 深度優先搜尋)

八皇后問題,是乙個古老而著名的問題,是回溯演算法的典型案例。該問題是國際西洋棋棋手馬克斯 貝瑟爾於1848年提出 在8 8格的西洋棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。1854年在柏林的象棋雜誌上不同的作者發表了...

八皇后(遞迴 深度優先搜尋)

八皇后問題,是乙個古老而著名的問題,是回溯演算法的典型案例。該問題是國際西洋棋棋手馬克斯 貝瑟爾於1848年提出 在8 8格的西洋棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。1854年在柏林的象棋雜誌上不同的作者發表了...

深度優先搜尋演算法的實踐

如上篇部落格所言,最近在學習資料結構中圖的知識。按照書中的講解和偽 我自己也編輯了個 深度優先搜尋演算法。不過是用遞迴實現的。1 include 2 define max vertex num 21 3using namespace std 45 typedef struct graph 6grap...