输出 Prim 的加边顺序

输出 Prim 的加边顺序

用同一个 prim,从 0 出发,把四条边按加入顺序输出(a-b,用 / 隔开)。

阅读更多 →
写一个 Prim

写一个 Prim

补全 prim:用小根堆存"从树里连出去的边",每次弹最短的一条,另一端还没进树才要。输出最小总长。

阅读更多 →
Prim 是按什么顺序加边的

Prim 是按什么顺序加边的

看 Prim 从 0 出发时,四条边是按什么顺序加进来的: import heapq def prim(edges, verts, s): ad = {u: [] for u in vert

阅读更多 →
Prim 从 0 出发的总长

Prim 从 0 出发的总长

同一组边,这次用 Prim,从 0 号点开始长。运行下面这段程序: import heapq def prim(edges, verts, s): ad = {u: [] for u in

阅读更多 →
Prim 和 Kruskal 差在哪

Prim 和 Kruskal 差在哪

Prim 和 Kruskal 的区别是【0】(前一个说 Prim,后一个说 Kruskal)。

阅读更多 →
Prim 的做法

Prim 的做法

Prim 求最小生成树的做法是【0】。

阅读更多 →
⚠️ Kruskal 和暴力枚举必须一致

⚠️ Kruskal 和暴力枚举必须一致

把 Kruskal 和暴力枚举所有生成树都写出来,在同一组边上各求一次最小总长。 输出三样:Kruskal 的答案 / 暴力的答案 / 是否相同(相同输出 结果一致,否则 结果不一致)。

阅读更多 →
Kruskal 是按什么顺序选边的

Kruskal 是按什么顺序选边的

用同一个 kruskal,把选中的四条边按选中顺序输出(每条写成 a-b,边之间用 / 隔开)。

阅读更多 →
写一个 Kruskal

写一个 Kruskal

补全 kruskal:边按权重排好,用 union 的返回值决定要不要这条边。输出最小总长。

阅读更多 →
复习:写 find 和 union

复习:写 find 和 union

补全 find(带路径压缩)和 union(已经在同一块里就返回 False)。 做两次合并之后输出那三件事。

阅读更多 →