摘要:
生成树:图删去一些边形成的树 最小生成树:所有生成树中边权最小的树 最小生成树寻找方法: Kruskal算法 for(int i = 1;i <= m&&cnt < n-1;i++){ int x=e[i].from,y=e[i].to,z=e[i].w; int u = find(x),v = f 阅读全文
posted @ 2022-02-11 16:38
yinfelix
阅读(34)
评论(0)
推荐(0)
摘要:
dfs树:对图进行dfs时删除所有未经过的边形成的树 dfs序:对点dfs的顺序 对有向图进行dfs时遇到的边: ~树边:一般边,构成树 ~返祖边:指向祖先的边 ~横叉边:(从一个叉跳向另一个)指向搜索过的点的边 维护dfs的栈,树根到当前点的节点序列 dfn[u]:u的dfs序 low[u]:u通 阅读全文
posted @ 2022-02-11 14:45
yinfelix
阅读(39)
评论(0)
推荐(0)
摘要:
1.合并两个集合 2.查询一个点所在的集合 每个集合都是一棵数,代表点是根节点 合并:将一根的父亲设为另一个根 查询:找到所在树的根 优化: 路径压缩:查询根的时候将路径上所有点的父亲设为根 按秩合并:将高度低集合向高度高集合合并 不加优化:O(n) 路径压缩/按秩合并:O(logn) 路径压缩+按 阅读全文
posted @ 2022-02-11 11:17
yinfelix
阅读(62)
评论(0)
推荐(0)
浙公网安备 33010602011771号