图论相关总结

参考: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
相关推荐
ab1515179 小时前
3.23完成进阶45、84,二刷基础132、129
算法·深度优先·图论
jing-ya10 小时前
day 60 图论part11
java·数据结构·算法·图论
Rhystt11 小时前
代码随想录算法训练营第五十五天|图论理论基础、深搜理论基础、98. 所有可达路径、广搜理论基础
数据结构·c++·算法·深度优先·图论
ArturiaZ1 天前
【day60】
算法·深度优先·图论
Lisssaa1 天前
打卡第二十二天
c++·算法·图论
我是咸鱼不闲呀1 天前
力扣Hot100系列22(Java)——[图论]总结(岛屿数量,腐烂的橘子,课程表,实现Trie(前缀树))
java·leetcode·图论
jing-ya1 天前
day 59 图论part10
java·开发语言·数据结构·算法·图论
不染尘.1 天前
最短路径之Bellman-Ford算法
开发语言·数据结构·c++·算法·图论
C蔡博士1 天前
最小生成树(MST)详解:定义、算法与核心性质
算法·贪心算法·图论·时间复杂度
jing-ya2 天前
day 57 图论part9
java·开发语言·数据结构·算法·图论