Skip to content

Commit 2bc509d

Browse files
josephcbradleyKrastanovclaude
authored
Add planarity test and PMFG (#208)
Co-authored-by: Stefan Krastanov <github.acc@krastanov.org> Co-authored-by: Stefan Krastanov <stefan@krastanov.org> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 89dabeb commit 2bc509d

File tree

8 files changed

+695
-1
lines changed

8 files changed

+695
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- `maximum_clique`, `clique_number`, `maximal_independent_sets`, `maximum_independent_set`, `independence_number`
88
- `regular_tree` generator
99
- `kruskal_mst` now accepts weight vectors
10+
- `is_planar` planarity test and `planar_maximally_filtered_graph` (PMFG) algorithm
1011
- `count_connected_components` for efficiently counting connected components without materializing them
1112
- `connected_components!` is now exported and accepts an optional `search_queue` argument to reduce allocations
1213
- `is_connected` optimized to avoid allocating component vectors

docs/src/algorithms/spanningtrees.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Pages = [
1616
"spanningtrees/boruvka.jl",
1717
"spanningtrees/kruskal.jl",
1818
"spanningtrees/prim.jl",
19+
"planarity.jl",
20+
"spanningtrees/planar_maximally_filtered_graph.jl",
1921
]
2022
2123
```

src/Graphs.jl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,8 +449,11 @@ export
449449
vertex_cover,
450450

451451
# longestpaths
452-
dag_longest_path
452+
dag_longest_path,
453453

454+
# planarity
455+
is_planar,
456+
planar_maximally_filtered_graph
454457
"""
455458
Graphs
456459
@@ -573,6 +576,8 @@ include("vertexcover/random_vertex_cover.jl")
573576
include("Experimental/Experimental.jl")
574577
include("Parallel/Parallel.jl")
575578
include("Test/Test.jl")
579+
include("planarity.jl")
580+
include("spanningtrees/planar_maximally_filtered_graph.jl")
576581

577582
using .LinAlg
578583
end # module

0 commit comments

Comments
 (0)