图论相关总结

参考:1.https://labuladong.gitee.io/algo/di-yi-zhan-da78c/shou-ba-sh-03a72/tu-lun-ji--d55b2/

2.代码随想录图论 (qq.com)


例题1:所有可能路径(考察图的遍历)

给你一个有 n 个节点的 有向无环图(DAG) ,请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。

复制代码
输入:graph = [[1,2],[3],[3],[]]
输出:[[0,1,3],[0,2,3]]
解释:有两条路径 0 -> 1 -> 3 和 0 -> 2 -> 3

注:注意回溯参数(图,节点),此外本题是无环图,不需要使用visited数组

python 复制代码
class Solution:
    def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:
        result = []
        path = []
        last = len(graph) - 1
        def backtrack(graph,x):
            if x == last:
                result.append(path[:])
                return
            for i in range(0, len(graph[x])):
                path.append(graph[x][i])
                backtrack(graph,graph[x][i])
                path.pop()
        path.append(0)
        backtrack(graph, 0)
        return result
相关推荐
lzllzz236 小时前
递归的理解
算法·深度优先·图论
不爱编程爱睡觉8 小时前
代码随想录算法训练营第四十三天 | 图论理论基础、深搜理论基础、98. 所有可达路径、广搜理论基础
算法·leetcode·图论·代码随想录
qq_4335545412 小时前
C++ 图论算法:二分图最大匹配
c++·算法·图论
罗湖老棍子2 天前
【模板】并查集(洛谷P3367)
算法·图论·并查集
wanderist.2 天前
C++输入输出的一些问题
开发语言·c++·图论
Snow_day.3 天前
有关排列排列组合(1)
数据结构·算法·贪心算法·动态规划·图论
初晴や4 天前
【C++】图论:基础理论与实际应用深入解析
c++·算法·图论
闻缺陷则喜何志丹5 天前
【图论 DFS 换根法】3772. 子图的最大得分|2235
c++·算法·深度优先·力扣·图论·换根法
君义_noip6 天前
信息学奥赛一本通 2134:【25CSPS提高组】道路修复 | 洛谷 P14362 [CSP-S 2025] 道路修复
c++·算法·图论·信息学奥赛·csp-s
罗湖老棍子6 天前
信使(msner)(信息学奥赛一本通- P1376)四种做法
算法·图论·dijkstra·spfa·floyd·最短路算法