01 2023 档案
摘要:染色法 一个图是二分图 当且仅当 她可以被2染色(不含有奇数环) 流程如下,先找到一个不在集合中的点 把他放在左边 然后遍历这个点有连接的点,把这些点放到右边,再依次遍历放到右边的点的邻点 模板 int n; // n表示点数 int h[N], e[M], ne[M], idx; // 邻接表存储
阅读全文
摘要:Prim 先初始化距离,全部是正无穷,然后 n 次迭代,每次迭代执行: 1.找到 不在集合当中的 距离最小的点(这里的集合是 当前的生成树 2.用这个点更新其他点到集合的距离 举例,我们有如下图 第一步,让所有点到集合的距离变 +无穷 然后因为所有点的距离都是正无穷,所以我们随便挑一个点作为第一个点
阅读全文
摘要:Bellman-Ford 循环 n 次,每一次循环所有边 这个算法的存边比较简单,只需要让我可以遍历到所有边就可以,那么可以直接开一个结构体 遍历所有边的时候,更新一下 dist 数组即可 Bellman-Ford 证明了在循环完之后一定满足 dist[b] <= dist[a] + w 三角不等式
阅读全文
摘要:最短路分为 单源最短路 和 多源汇最短路 单源一般是求从一个点 到其他所有点的最短距离 源点 起点 汇点 终点 多源就是会有很多个询问,起点和终点都是不确定的 单源中又可以分为 所有边都是正数的 和 存在负权边的 朴素版 比方说我们有图如下 1-->2 距离为2 2-->3 距离为1 1-->3 距
阅读全文
摘要:树和图的存储 树是一种特殊的图,无环连通图 图分为有向图和无向图 如果是无向图就建立两个边 a -> b && b -> a ,所有无向图就是特殊的有向图 邻接矩阵 g[a,b] 记录 a -> b 如果有权重,其值就是权重,没有权重这个值就是一个 布尔值,true代表有边,邻接矩阵不能存储重边 邻
阅读全文
摘要:DFS 深度优先搜索会搜得比较深,当搜到叶子结点的时候就会回溯 graph TD; a-->b-->d-->i-->r a-->c-->g-->n b-->e-->k b-->f-->m c-->h-->p d-->j e-->l g-->o h-->q i-->s 该图的深搜序列就是: a->b-
阅读全文
阅读目录(Content)
此页目录为空