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

干货分享|图论的常见存储方式之邻接表

示意图

数据结构

以第一维度作为出度的点。每个数据结构的单元作为动态数组或链表的头部,进行延申存储。

struct Edge { int to; // 入度点 int val; // 权值 }; // 假设共有n个点 // 可动态延申的数据结构即可 vector<vector<Edge>> graph; vector<list<Edge>> graph; vector<Edge> graph[n];

操作

在存储中,根据需要不断添加,不会存在多余空间。因此在遍历时也可以保证这是必然村子的边。

// u出度点,v入度点,w权值
[u, v, w]

// 存储
graph[u].push_back({v, w});

// 遍历访问
for (int i = 0; i < graph[u].size(); i += 1) {
v = graph[u][i].v;
w = graph[u][i].w;
}

实战应用

class Solution { private: static constexpr int INF = 0x3f3f3f3f; struct Edge { int to; int val; }; public: int networkDelayTime(vector<vector<int>>& times, int n, int k) { // 邻接表,建图 auto graph = vector<vector<Edge>>(n + 1); for (auto&& edge : times) { int u = edge[0], v = edge[1], w = edge[2]; graph[u].push_back({v, w}); } // dijkstra 最短路算法 auto dis = vector<int>(n + 1, INF); auto vis = vector<bool>(n + 1, false); dis[k] = 0; int pointCnt = n; while (pointCnt--) { int nex = -1; int nexVal = INF; for (int i = 1; i <= n; i += 1) { if (vis[i] == false && dis[i] < nexVal) { nex = i; nexVal = dis[i]; } } if (nex == -1) { break; } vis[nex] = true; // 遍历邻接表 for (auto&& [to, val] : graph[nex]) { dis[to] = min(dis[to], dis[nex] + val); } }
http://www.jsqmd.com/news/892527/

相关文章:

  • 从梯度下降到集成王者:GBDT与GBRT核心原理与实战拆解
  • 3步搞定B站广告跳过插件,小电视空降助手让你告别视频广告困扰
  • 告别交叉编译烦恼:用SD卡在RK3588上本地构建Qt 5.15.0全记录(含OpenGL环境)
  • Poppins字体:如何用一款免费开源字体解决多语言排版难题?
  • docker启动容器 - 小镇
  • 上海制造/工程类企业财税服务避坑指南+靠谱机构盘点 - 资讯速览
  • Lovable招聘系统搭建避坑手册:90%团队踩过的7个致命错误及3步修复法
  • ArcGIS矢量数据空间参考转换实战:从地理坐标到投影坐标的精准映射
  • 免费在线智商测试,快速测出你的真实 IQ 值 - 时讯资讯
  • 树莓派4B+Python+Adafruit_PCA9685:手把手教你用键盘实时控制舵机(附完整代码)
  • 20252410李沐泽实验四
  • 2026出口高品质指针电流表推荐:源头厂家综合测评 定制批发选型指南 - 资讯速览
  • 3分钟搞定网易云音乐NCM格式转换:Windows用户必备的音乐解密工具指南
  • 2026 视频做宝典:怎么用 AI 生成带货视频?高性价比不排队工具盘点
  • 固态电池突破:续航超1000km的奇迹,重塑新能源汽车格局
  • 2026年国产在线DO仪十大品牌深度测评:技术突围与市场重构下的精准选型指南 - 仪表品牌榜
  • 20254124 实验四《Python程序设计》实验报告
  • Taotoken的模型广场功能如何辅助开发者进行技术选型与效果评估
  • Ansys Zemax实战:用几何图像分析搞定多模光纤耦合效率计算(附配置文件)
  • AI代码质量危机:1.7倍缺陷率背后的修复策略与工程实践
  • “创·在上海”金融科技大赛来袭,丰厚奖励邀全球伙伴共筑产业新高地!
  • 正规智商测试平台有哪些|精准 IQ 测试在线免费测 - 时讯资讯
  • LLM推理优化:vLLM PagedAttention深度解析与工程实践
  • PUBG罗技鼠标宏压枪脚本:从零配置到精准射击的完整指南
  • 新手避坑指南:从安装到第一个波形,用NC-Verilog仿真的完整踩坑记录
  • 从抓包到解密:搞定蓝牙配对Key(Link Key)的三种实战方法(Android/HCI日志/Ellisys)
  • 2026年省电空调挂机品牌综合实力5强实测推荐 - 资讯速览
  • 微信单向好友检测终极指南:3分钟找出谁删除了你
  • 别再手动算逆矩阵了!巧用Zemax旋转/偏心元件工具,5分钟搞定坐标断点布局
  • 2026 网安就业有多香?这 4 类岗位常年缺人,入门毫无压力