This repository was archived by the owner on Jun 18, 2026. It is now read-only.
Commit ccffb2d
authored
feat: add PlanarGraphAnalyzer — planarity testing, face enumeration, dual graph, Kuratowski detection (#32)
Implements comprehensive planar graph analysis:
- Planarity testing via Euler bound + K5/K3,3 minor detection with
exhaustive contraction for small graphs and multi-strategy heuristics
- Face enumeration using combinatorial planar embeddings with
force-directed layout for cyclic neighbor ordering
- Dual graph construction from face-adjacency relationships
- Kuratowski subgraph extraction (K5 or K3,3 subdivision certificates)
- Full PlanarityReport with genus estimation and formatted output
- Triangle-free graph bound (E <= 2V-4) for tighter rejection
Tested against: empty, single vertex/edge, triangle, K4 (planar),
K5/K3,3/Petersen (non-planar), paths, cycles, wheels, stars, trees,
octahedron, cube graph, disconnected graphs. 47 tests, all passing.1 parent 5735ace commit ccffb2d
2 files changed
Lines changed: 1689 additions & 0 deletions
0 commit comments