当前位置: 首页 > news >正文

【代码随想录Day48】图论Part01

图论理论基础

题目链接/文章讲解:图论理论基础 | 代码随想录

深搜理论基础

题目链接/文章讲解:深度优先搜索理论基础 | 代码随想录

98. 所有可达路径

题目链接/文章讲解:代码随想录

class Solution {// 存储所有从源节点到目标节点的路径List<List<Integer>> result = new ArrayList<>();// 存储当前路径的节点List<Integer> path = new LinkedList<>();// 主函数,接收图的邻接矩阵并开始深度优先搜索public List<List<Integer>> allPathsSourceTarget(int[][] graph) {// 从源节点(节点0)开始,添加到当前路径中path.add(0);// 调用DFS函数,开始搜索路径dfs(graph, 0);// 返回所有找到的路径return result;}// 深度优先搜索函数public void dfs(int[][] graph, int startIndex) {// 如果当前节点是目标节点(最后一个节点),则将当前路径添加到结果中if (startIndex == graph.length - 1) {result.add(new ArrayList<>(path)); // 将当前路径的副本添加到结果return; // 结束当前递归}// 遍历当前节点的所有邻接节点for (int i = 0; i < graph[startIndex].length; i++) {// 将邻接节点添加到当前路径path.add(graph[startIndex][i]);// 递归调用DFS,继续搜索下一个节点dfs(graph, graph[startIndex][i]);// 回溯:从当前路径中移除最后添加的节点path.removeLast();}}
}

广搜理论基础

题目链接/文章讲解:广度优先搜索理论基础 | 代码随想录


http://www.mrgr.cn/news/56041.html

相关文章:

  • 最优化理论-最优化1
  • API项目6:接口调用次数的统计 网关
  • 尚硅谷大数据Flink1.17实战教程-笔记04【Flink DataStream API】
  • RabbitMQ 入门(八)SpringAMQP消息转换器
  • 利用python进行数据处理,得到对自己有利的内容
  • 苹果仍在研发更大尺寸的 iMac | Swift 周报 issue 60
  • 永恒之蓝漏洞
  • 华为od面试手撕代码真题题型6——传统双指针
  • 贝叶斯决策论
  • 【vue2.7.16系列】手把手教你搭建后台系统__provider绑定类标识(11)
  • 【C#】调用本机AI大模型流式返回
  • typescript 中的类型推断
  • 「C/C++」C++ STL容器库 之 std::string 字符串类
  • 银行软件测试有哪些测试点?一般银行的软件测试工作流程有哪些?
  • 2226733-37-3,Mal-amido-PEG24-NHS是一种结合了马来酰亚胺和聚乙二醇的活性酯化合物
  • 医疗健康行业获客难?来看这位区域总经理的业绩增长破局之道
  • sql获取时间差
  • WebGl 使用平行矩阵实现图像平移
  • 浪潮云启操作系统(InLinux)bcache缓存实践:理解OpenStack环境下虚拟机卷、Ceph OSD、bcache设备之间的映射关系
  • 太极0.5
  • 如何开发电商平台?直播带货系统源码的核心技术解析
  • 基于SSM网络在线考试系统的设计
  • CentOS7上下载安装 Docker Compose
  • R语言机器学习算法实战系列(六)K-邻近算法 (K-Nearest Neighbors)
  • 解决:Cannot find bean with qualifier ‘xxx‘
  • GSM850分几个Channel,为什么这样分?