This repository was archived by the owner on Jun 18, 2026. It is now read-only.
Commit 10eebd4
committed
refactor: deduplicate countComponents and bfsDistances into GraphUtils
Added GraphUtils.countComponents(Graph) — counts connected components
without allocating per-component Sets or sorting (just a visited set +
BFS counter). 4 callers were using findComponents(g).size() which built
the full component list, sorted it, then discarded everything except
the count.
Also replaced GraphPowerCalculator's private bfsDistances() with a
one-line delegate to GraphUtils.bfsDistances() — same BFS logic was
duplicated verbatim (~15 lines).
Files changed:
- GraphUtils.java: +countComponents()
- GraphPowerCalculator.java: -15 lines (delegate to GraphUtils)
- GraphResilienceAnalyzer.java: delegate to GraphUtils.countComponents
- GraphSparsificationAnalyzer.java: delegate to GraphUtils.countComponents
- FeedbackVertexSetAnalyzer.java: delegate to GraphUtils.countComponents
- TreeAnalyzer.java: delegate to GraphUtils.countComponents1 parent e1b857e commit 10eebd4
6 files changed
Lines changed: 40 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
216 | | - | |
| 216 | + | |
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
| 72 | + | |
87 | 73 | | |
88 | 74 | | |
89 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
327 | | - | |
328 | | - | |
| 327 | + | |
329 | 328 | | |
330 | 329 | | |
331 | 330 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
274 | | - | |
| 274 | + | |
275 | 275 | | |
276 | 276 | | |
277 | 277 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
174 | 209 | | |
175 | 210 | | |
176 | 211 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
776 | 776 | | |
777 | 777 | | |
778 | 778 | | |
779 | | - | |
| 779 | + | |
780 | 780 | | |
781 | 781 | | |
782 | 782 | | |
| |||
0 commit comments