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

代码随想录算法训练营第五十天|图论理论基础,深搜理论基础,98. 所有可达路径,广搜理论基础

图论理论基础:邻接矩阵、邻接表??-写不出来 = 没入门

而且图论应用广泛,在大家做项目开发的时候,或多或少都会用到图论相关知识。例如:通信网络(拓扑排序、最短路算法),社交网络(深搜、广搜),路径优化(最短路算法),任务调度(拓扑排序),生物信息学(基因为节点,基因关系为边),游戏开发(A * 算法等)等等

图的种类(有向图、无向图、权重)

度:有多少条边连接这个节点,出度&入度(only make sense when有向图)

连通图(在无向图中,任何两个节点都是可以到达的,我们称之为连通图) & 非连通图

强连通图(在有向图中,任何两个节点是可以相互到达的,我们称之为 强连通图)

连通分量

强连通分量

图的构造

朴素存储(n*2 array)

邻接矩阵(n*n矩阵,内存空间比较大)

邻接表(增量 在于 边 的数量)

图的遍历(之前在“二叉树”学过DFS & BFS-有印象学过,但现在应该不会写了😭)

DFS深搜

BFS广搜

深度优先搜索理论基础Depth First Search

recall: 回溯算法(本质也是dfs)

深搜三部曲:1.确定函数 & 参数,2.确定终止条件,3. for(选择本节点连接的节点) - 处理节点 - dfs(图,选择的节点) - 回溯,撤销处理结果

卡码网:98.可达路径

对AMC真的没招了😮‍💨

Broad First Search广度优先搜索

对于matrix的BFS理解:只能上下左右的方向进行搜索(不能斜着)(队列:先入先出/栈:先进后出/数组)

试着跟着写python pseudo-code:

#使用邻接矩阵存图,遍历过的节点不能再次遍历visited

定义全局变量(四个方向的遍历那个)dir = [[0, 1], [1, 0], [-1,0], [0,-1]]

def bfs(graph, visited, x, y):

#以下是把起点加入队列queue

queue #这是起点坐标

queue.append(x, y)

visited[x][y] = 1 #表示已经访问过

while len(queue) != 0:#队列不为空

#取出队列中的首元素

cur = queue[-1]?还是queue[0]

queue.pop()

for i in range(0, 4):

nextx = cur[0] + dir[i][0]

nexty = cur[1] + dir[i][1]

if nextx, nexty >=#越界了就不能处理

continue

if visited[nextx][nexty] == 1#之前访问过也不能重复加入到队列里:

continue

queue.append([nextx, nexty])

visited[nextx][nexty] == 1

http://www.cnnetsun.cn/news/98451.html

相关文章:

  • 47、磁盘存储系统的全面解析与性能优化
  • 54、计算机系统安全与程序威胁深度解析
  • 58、Linux系统:架构、模块与进程管理解析
  • 59、Linux系统调度与内存管理详解
  • 67、操作系统技术解析:从线程存储到系统特性
  • EmotiVoice + GPU算力:实现毫秒级高保真语音生成
  • 基于EmotiVoice的有声内容创作指南:提升听众沉浸感
  • 26、Go 语言并发模式与反射机制详解
  • 30、编程知识综合解析
  • 基于Prompt的EmotiVoice情感控制指令设计规范
  • 能研智库:国家及省(区、市)“十五五”规划汇编(一) 2025
  • 1、复杂网络分析入门:从基础概念到实际应用
  • 7、复杂网络构建与测量:从矩阵到指标
  • EmotiVoice在教育领域的应用场景探索:情感化课件朗读
  • 全国头部ai公司,是上海光景泽研科技有限公司
  • Agent原型虽好,却迟迟难落地?AgentCore来破局!
  • 代码重构艺术:烂代码改造与设计模式实战
  • EmotiVoice语音合成中的多轮对话情感连贯性维护
  • 44、MS-DOS INT 21h 功能调用详解
  • 61、MASM 参考指南
  • 如何调优EmotiVoice的情感强度参数以获得最佳听感?
  • 2025终极指南:5分钟掌握GitHub风格CSS样式库
  • Koodo Reader封面管理系统:打造个性化数字图书馆的艺术
  • 3、Qt 界面开发:小部件与布局全解析
  • 6、Qt 自定义小部件开发全解析
  • Spring AI 最新实战系列(一)完成一个简单的AI项目
  • LobeChat智谱ChatGLM接入全流程:Zhipu AI API对接
  • EmotiVoice能否实现语音情感渐变过渡?动态控制探索
  • 终极微博备份指南:Speechless免费工具完整使用教程
  • 暗黑破坏神2存档编辑器终极指南:从零基础到精通进阶