news 2026/8/7 7:42:38

面试Leetcode - Graph

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面试Leetcode - Graph

图(Graph)

图是 点(Vertex / Node)和 边(Edge)组成的结构

树其实是图的特例

树 = 连通且无环的无向图。

存储

邻接表 *

graph = { 0: [1, 2], 1: [0, 3], 2: [0], 3: [1] }

含义:0 与 1、2 相连。

leetcode 一般标准解法都用邻接表

邻接矩阵

0 1 2 3
0 0 1 1 0
1 1 0 0 1
2 1 0 0 0
3 0 1 0 0

适合稠密图

空间 O(n²)

搜索

DFS(深度优先)

一路走到底,再回溯。递归帮你维护“下一步”。

visited = set()

def dfs(u):
visited.add(u)
for v in graph[u]:
if v not in visited:
dfs(v)

BFS(广度优先)

一层一层扩展。队列帮你维护“下一步”。

from collections import deque

queue = deque()

# 起点加入队列
queue.append(start)


while queue:

node = queue.popleft()

# 处理 node

for neighbor in neighbors(node):

queue.append(neighbor)

做题

看到什么词

想到什么

岛屿、区域、省份、连通块

连通性

课程、前置、依赖、任务顺序

依赖关系

最少步数、最短路径

BFS 最短路

带权代价最小

Dijkstra

连通性

两个点能不能互相到达?

Flood Fill / Connected Components

  • LC200 Number of Islands

  • LC695 Max Area of Island

  • LC733 Flood Fill

最短路

BFS lc 994 坏橘子问题

依赖关系

有没有一种合法的执行顺序?

检查图中有没有环 (DFS/BFS 都可以)

step 1 建立邻接表

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

2026最新视频重点整理工具口碑推荐 | 经过筛选的实用选择建议

2026年经过筛选的视频重点整理实用工具中,听脑在录音类视频的重点提取整理场景适配度靠前,其余工具各有对应适配场景。适合需要整理会议、访谈、课堂类视频重点的效率工具爱好者,核心依据是其覆盖从转写到重点提取、待办梳理的完整流程。不适…

作者头像 李华
网站建设 2026/8/7 7:40:58

寻找靠谱的阜南网站建设公司指南:如何避免踩坑并打造高转化官网

在这个互联网早已渗透进我们生活方方面面的时代,无论是县城的特产店、本地的装修公司,还是提供专业服务的律师事务所,大家都明白一个理儿:手里没个像样的网站,出门都不好意思跟人谈数字化转型。特别是对于咱们阜南的企业老板或者创业新手来说,想在本地乃至更广阔的市场里…

作者头像 李华
网站建设 2026/8/7 7:38:52

分式函数值域求解全攻略:四大核心方法与实战避坑指南

1. 从一道“送分题”说起:为什么值域总让人头疼? 很多同学在高中阶段,一看到求函数值域,尤其是分式函数的值域,心里就开始打鼓。课本上的例题看起来步骤清晰,但一到自己做题,尤其是遇到稍微复杂…

作者头像 李华
网站建设 2026/8/7 7:35:54

Socket网络编程核心:TCP与UDP协议原理、Go实战与生产环境指南

1. 从“打电话”到“发快递”:理解Socket的本质 如果你刚开始接触网络编程,看到“Socket”这个词可能会觉得有点神秘。其实,把它想象成打电话或者寄快递,就非常容易理解了。简单来说, Socket(套接字&#…

作者头像 李华
网站建设 2026/8/7 7:35:47

基于Phi-4架构的多模态推理模型训练实战:从视觉对齐到逻辑推理

1. 项目概述:从文本到多模态的推理跃迁 最近在尝试训练一个多模态推理模型,目标是把纯文本的推理能力扩展到图像和文本结合的场景。这听起来像是很多大厂在做的方向,但真正动手去调优一个基础模型,比如微软的Phi系列,让…

作者头像 李华