图论相关总结

参考: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
相关推荐
h_a_o777oah6 天前
【图论】网络流:Dinic 算法模板实现原理及解题技巧
c++·算法·图论·acm·网络流·最小割·dinic算法
有点。7 天前
C++03阶段练习(练习题)
数据结构·算法·图论
-dzk-12 天前
【图论】LC 207.课程表
图论
wuyk55513 天前
18.Kruskal 算法:用最短的边连成一张网
开发语言·算法·图论
-dzk-13 天前
【图论】LC 994.腐烂的橘子
图论
-dzk-14 天前
【图论】LC 200.岛屿数量
深度优先·图论
Lyyaoo.15 天前
【图论】岛屿数量/腐烂的橘子/课程表/实现前缀树
图论
lvwangshu16 天前
图论:LCA、树的直径、树的重心、二分图与 Tarjan 缩点
算法·图论
hansang_IR18 天前
【题解】[APIO2023] 赛博乐园 / cyberland
c++·算法·图论
aqiu11111119 天前
【并查集 / 图论】蓝桥云课 - 魔法大陆的城市群(求无向图连通块数量)题解
蓝桥杯·图论