深度優先搜尋生成全錯序排列

2021-08-13 23:56:27 字數 559 閱讀 6373

懷戀啊,記得高中和大一之間的暑假裡剛學c語言時我想寫個24點程式,就搜到了用遞迴實現的這個全錯序程式,當時看了好久才看懂,懷戀懷戀。

#include #include using namespace std;

#define max_n 100

bool used[max_n];

int perm[max_n];

void permutation(int pos, int n)

cout << '\n';

} for (int i = 0; i < n; i++) }}

/*void permutation(int n)

do while ( next_permutation(perm, perm + n) );}*/

int main()

permutation(0, 5);

return 0;

}

注釋掉的是庫函式裡的,書上說後面會學,還是位運算實現的,期待。

這裡用used陣列記錄訪問的二叉樹的深度,基本上也能說是個棧吧。

有限制條件的深度優先遍歷生成全排列

三羊獻瑞 觀察下面的加法算式 祥 瑞生輝 三羊 獻瑞 三 羊生瑞氣 如果有對齊問題,可以參看 圖 其中,相同的漢字代表相同的數字,不同的漢字代表不同的數字。請你填寫 三羊獻瑞 所代表的 4位數字 答案唯一 不要填寫任何多餘內容。答案 1085 本題的思路是利用深度優先遍歷對這八個不同的字生成0到9的...

全排列(深度優先搜尋)

description 列出所有數字1到數字n的連續自然數的排列,要求所產生的任一數字序列中不允許出現得復數字。input 輸入 n 1 n 9 output 由1 n組成的所有不重複的數字序列,每行乙個序列。sample input 3 sample output 1 2 3 1 3 2 2 1 ...

深度優先搜尋 全排列

題目要求 輸入乙個數n,輸出1 n的全排列。比如,輸入3,輸出123 132 213 231 312 321。解題思路 用深度優先搜尋,假設有n個盒子,從第乙個盒子開始依次放直到放到最後乙個盒子,期間用到遞迴呼叫。放到最後乙個後,再依次返回,進行重新組合,其中還用到標記陣列來判斷是否被用過。實現 i...