news 2026/6/10 16:10:37

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代码随想录算法训练营第五十天|图论理论基础,深搜理论基础,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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:27:03

基于微信小程序的在线婚礼策划系统毕业设计

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在开发并实现一款基于微信小程序的在线婚礼策划系统,以应对当前婚礼策划市场的需求与挑战。具体研究目的如下:提高婚礼策划效率&…

作者头像 李华
网站建设 2026/6/10 6:00:24

基于微信小程序的在线家庭健身系统毕设

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于微信小程序的在线家庭健身系统,以应对当前社会背景下人们对健康生活方式的追求以及传统健身房在时间和空间上的局限性。…

作者头像 李华
网站建设 2026/6/10 10:52:45

49、操作系统 I/O 系统全面解析

操作系统 I/O 系统全面解析 1. I/O 硬件基础概念回顾 在深入探讨操作系统的 I/O 接口之前,我们先来回顾一些 I/O 硬件的基础概念: - 总线 :用于设备之间传输数据的通道。 - 控制器 :负责管理设备的操作。 - I/O 端口及其寄存器 :用于与设备进行数据交互。 - 主…

作者头像 李华
网站建设 2026/6/10 12:47:12

57、计算机系统安全与Linux系统发展全解析

计算机系统安全与Linux系统发展全解析 在当今数字化的时代,计算机系统的安全和操作系统的发展至关重要。我们将深入探讨计算机系统安全的相关知识,以及Linux操作系统的发展历程。 计算机系统安全 保护和安全是计算机系统中两个不同但又紧密相关的概念。保护主要是系统内部…

作者头像 李华
网站建设 2026/6/9 13:19:22

EmotiVoice语音情感标注工具开源项目征集

EmotiVoice语音情感标注工具开源项目解析 在虚拟偶像的直播中突然“动情落泪”,或是有声书里的角色因剧情转折而声音颤抖——这些曾属于人类专属的情感表达,如今正被AI语音悄然复现。随着用户对交互体验拟人化的要求越来越高,传统“字正腔圆…

作者头像 李华
网站建设 2026/6/10 10:28:43

p13mybatisplus12扩展功能代码生成器 找不到config database这个按钮

问题描述在黑马微服务的的这个位置,新版的idea没有这个按钮了,找不到config database这个按钮甚至在idea的上方的界面没有那一排图标。解决要想让idea上方的那一排图标显示出来。只需要找到图片中的那四条杠。点击后就会显示如下的图片。找到tools&#…

作者头像 李华