Skip to content

Commit 3102bca

Browse files
committed
Add development section to README
1 parent 61e75c7 commit 3102bca

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ Detailed documentation for each algorithm can be found on [HexDocs](https://hexd
142142
| Algorithm | Use When | Time Complexity |
143143
| --------- | -------- | --------------- |
144144
| **Dijkstra** | Non-negative weights, single shortest path | O((V+E) log V) |
145+
| **Bidirectional Dijkstra** | Known target, weighted graphs, ~2× faster | O((V+E) log V / 2) |
146+
| **Bidirectional BFS** | Known target, unweighted graphs, up to 500× faster | O(b^(d/2)) |
145147
| **A*** | Non-negative weights + good heuristic | O((V+E) log V) |
146148
| **Bellman-Ford** | Negative weights OR cycle detection needed | O(VE) |
147149
| **Floyd-Warshall** | All-pairs shortest paths, distance matrices | O(V³) |
@@ -185,6 +187,49 @@ gleam run -m bench/simple_pathfinding
185187

186188
For detailed instructions on creating custom benchmarks, interpreting results, and comparing against reference implementations, see the [Benchmarking Guide](BENCHMARKING_GUIDE.md).
187189

190+
## Development
191+
192+
### Running Tests
193+
194+
Run the full test suite:
195+
196+
```bash
197+
gleam test
198+
```
199+
200+
Run tests for a specific module:
201+
202+
```bash
203+
./test_module.sh yog/pathfinding/bidirectional_test
204+
```
205+
206+
Run a specific test function:
207+
208+
```bash
209+
./test_module.sh yog/pathfinding/bidirectional_test dijkstra_complex_diamond_test
210+
```
211+
212+
### Running Examples
213+
214+
Run all examples at once:
215+
216+
```bash
217+
./run_examples.sh
218+
```
219+
220+
Run a specific example:
221+
222+
```bash
223+
gleam run -m examples/gps_navigation
224+
```
225+
226+
### Project Structure
227+
228+
- `src/yog/` - Core graph library modules
229+
- `test/` - Unit tests and property-based tests
230+
- `test/examples/` - Real-world usage examples
231+
- `test/bench/` - Performance benchmarks
232+
188233
## AI Assistance
189234

190235
Parts of this project were developed with the assistance of AI coding tools. All AI-generated code has been reviewed, tested, and validated by the maintainer.

0 commit comments

Comments
 (0)