DFS全排列


更新对全排列递归方法的理解

u是一个局部变量,它是用来指向每一条排列序列的元素的
st是全局变量数组,它能保证每一条单独的线路不发生重复

如上图所示最初u是要从1到n(第一行的1、2、3)逐序遍历的,但是指向1的时候u要先进行深度,到达下一层的时候它想要向右走(1、2、_ ——> 1、3、_),但是又要先深度到下一层,直到最后一层后才可以回溯。

#include
using namespace std;

int n, e[8], path[8], idx = 0;
bool st[8];

void dfs(int u){
    if(u == n){
        for(int i=0; i> n;
    dfs(0);
    
    return 0;
}