Skip to content

Commit 61e75c7

Browse files
committed
Update changelog
1 parent cd93f2f commit 61e75c7

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12+
- **Bidirectional Search** (`yog/pathfinding/bidirectional`): Meet-in-the-middle pathfinding algorithms for dramatic speedup:
13+
- `shortest_path_unweighted/3` - Bidirectional BFS for unweighted graphs with O(b^(d/2)) complexity (up to 500× faster than standard BFS!)
14+
- `shortest_path/6` - Bidirectional Dijkstra for weighted graphs (approximately 2× faster than standard Dijkstra)
15+
- Works with both directed and undirected graphs, leveraging yog's efficient `in_edges` structure for backward search
16+
- Proper termination conditions ensuring optimality
17+
- Comprehensive path reconstruction from meeting point
18+
- Convenience wrappers: `shortest_path_int/3` and `shortest_path_float/3`
19+
- **Performance Example**: With branching factor 10 and depth 6: standard BFS explores 1,000,000 nodes vs bidirectional BFS explores only 2,000 nodes
20+
1221
- **Graph Operations Module** (`yog/operation`): New module implementing set-theoretic graph operations following NetworkX's "Graph as a Set" philosophy:
1322
- **Set-Theoretic Operations**: `union/2`, `intersection/2`, `difference/2`, `symmetric_difference/2` for combining and comparing graphs
1423
- **Composition & Joins**: `disjoint_union/2` (safe combination with auto re-indexing), `cartesian_product/2` (for grids and hypercubes), `compose/2` (merge overlapping graphs)

0 commit comments

Comments
 (0)