DFS算法框架

Posted fulianzhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DFS算法框架相关的知识,希望对你有一定的参考价值。

dfs算法框架,看代码无法理解,还是把每一步都画出来吧。

void dfs(int u, int n, int *vis, int *path)

    if (u == n)
    
        for (int i = 0; i < n; i++) printf("%d ", path[i]);
        printf("\\n");
        return;
    
    for (int i = 1; i <= n; i++)
    
        if (!vis[i])
        
            path[u] = i;
            vis[i] = 1;
            dfs(u+1, n, vis, path);
            vis[i] = 0;
        
    


int main(int argc, _TCHAR* argv[])

    int path[3];
    int vis[4];
    memset(path, 0, sizeof(path));
    memset(vis, 0, sizeof(vis));
    dfs(0, 3, vis, path);
    return 0;

```![在这里插入图片描述](https://img-blog.csdnimg.cn/e47e5c76232c4e0c933e26f1b1231f2a.png)

这下清楚多了,原来是酱紫的呀~

以上是关于DFS算法框架的主要内容,如果未能解决你的问题,请参考以下文章

(王道408考研数据结构)第六章图-第三节:图的遍历(DFS和BFS)

019-dfs.bfs-图的遍历-《算法设计技巧与分析》M.H.A学习笔记

dfs(深度优先搜索)

回溯算法之幸运的袋子

BFS 算法解题套路框架

算法·每日一题(详解+多解)-- day13