10.23 闲话

十念  金牌会员 | 2024-10-24 15:52:25 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 876|帖子 876|积分 2628

10.23 闲话 图论复习

还有2天就复赛了,现在暂时不知道做啥题了,写一下这两天复习的图论知识。
1.存图方式

(1.) 邻接矩阵

没什么好说的,最简朴的存图方式,一眼就会。
定义矩阵数组 \(a[n][n](n为点的数目数)\) ,\(a[v]=w\) 代表 \(u,v\) 之间存在一条权值为 \(w\) 的路径。
由于采用二维数组存图,导致其在稠密图中服从低下,会有很多空间被浪费掉,限制了其发挥。
(2.) \(vector\)

动态数组存图,比较好写也比较常用的一种方式,定义的话为 \(vectora[n](n为点的数目)\) 对于 \(a=v\) 来说,其代表点 \(u\) 的第 \(i\) 条边的终点是 \(v\) ,若需存储其权值,则需要改变其数据类型,利用结构体类型。
存储权值的方式以及遍历点 \(i\) 的所有出度的方式。
[code]struct node{        int id,w; };vectora[maxn];//向点u压入一条权值为w的通往v的出度a.push((node){v,w});for(int j=0;j
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表