From 26e0cffc70ed35a7548847feb823dd25cf833894 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sun, 1 Apr 2018 09:00:01 +0800 Subject: [PATCH] auto commit --- notes/算法.md | 6 +++--- pics/8229e8e7-a183-4d29-94e6-e8d8537c6ce5.png | Bin 0 -> 5120 bytes pics/9d0a637c-6a8f-4f5a-99b9-fdcfa26793ff.png | Bin 0 -> 16384 bytes 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 pics/8229e8e7-a183-4d29-94e6-e8d8537c6ce5.png create mode 100644 pics/9d0a637c-6a8f-4f5a-99b9-fdcfa26793ff.png diff --git a/notes/算法.md b/notes/算法.md index 3dca215a..f5bb274a 100644 --- a/notes/算法.md +++ b/notes/算法.md @@ -315,11 +315,11 @@ public class Queue { 用于解决动态连通性问题,能动态连接两个点,并且判断两个点是否连通。 -

+

| 方法 | 描述 | -| ---: | :--- | +| :---: | :---: | | UF(int N) | 构造一个大小为 N 的并查集 | | void union(int p, int q) | 连接 p 和 q 节点 | | int find(int p) | 查找 p 所在的连通分量 | @@ -399,7 +399,7 @@ public void union(int p, int q) { 理论研究证明,加权 quick-union 算法构造的树深度最多不超过 logN。 -

+

```java public class WeightedQuickUnionUF { diff --git a/pics/8229e8e7-a183-4d29-94e6-e8d8537c6ce5.png b/pics/8229e8e7-a183-4d29-94e6-e8d8537c6ce5.png new file mode 100644 index 0000000000000000000000000000000000000000..3aaa63239f4226241a9090f832c4e87e03d58dcd GIT binary patch literal 5120 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 literal 0 HcmV?d00001