深度优先搜索--算法学习
发布日期:2021-05-15 00:28:02 浏览次数:18 分类:精选文章

本文共 3302 字,大约阅读时间需要 11 分钟。

���������������������Depth-First Search, DFS������������������������������������������������������������������������������������������������������������������������������������������������������������������������������DFS������������������������������������������������������������������������������������������������������

���������V���������������������������

������������������������������������Dfs(V)������������������������V���������������������������������������������������������

  • ���������������������������������V���������������������������������������������������������������������������������V���������������������������������"������"������������������������������������������������

  • ������������������������������V������������������������"������"������������������������������

  • ���������������������������V���������������������U���������������������������������U������������������������������������

  • ������������������������������������������������������������������������������

  • ������������

    ������������������������������������������������������������������������������������������������������

  • ���������������������������������������path[MAX_LEN]���������MAX_LEN���������������������������������������������

  • ������������������������������������������������������������������������������depth������������������������������������������������������������������path[depth]���������������depth���

  • ���������������������������������������������������������������������������path[depth]���������������������������������������������������������depth������������������������������

  • ������������������

    ���������DFS���������������������������������������������������������������������������������������G���������������������

    • G[i][j]������������i���������j���������������������������������������������������������false���
    • ���������������������������G���������������������������������������������

    ������������

    bool Dfs(V) {
    if (V == termination_node) // ���������������������������������������
    return true;
    if (V == visited_node) // ������������������������������������������������
    return false;
    visited_nodes.add(V); // ������������������������������
    for (each neighboring node U of V) {
    if (Dfs(U)) // ������������DFS(U)
    return true;
    }
    visited_nodes.remove(V); // ���������������������������
    return false;
    }

    ������������

    ������������������������������������������������������������������

    int depth = 0;
    Node path[MAX_LEN]; // MAX_LEN������������������������
    bool Dfs(V) {
    if (V == termination_node) {
    path[depth] = V;
    return true;
    }
    if (V == visited_node)
    return false;
    visited_nodes.add(V);
    path[depth] = V;
    depth++;
    for (each neighboring node U of V) {
    if (Dfs(U)) // ������������
    return true;
    }
    depth--;
    visited_nodes.remove(V);
    return false;
    }

    ������

    ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������DFS���������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:城堡问题(深搜)--算法学习
    下一篇:滑雪(动态规划)--算法学习

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2025年04月08日 00时03分31秒