Initial commit: MoonPath - MoonBit Pathfinding Library
核心功能
- 图数据结构(Graph、NodeId、Edge)
- BFS 算法(广度优先搜索)
- Dijkstra 算法(加权图最短路径)
- A* 算法(启发式搜索)
- 使用示例(5 个完整示例)
- 测试套件(6 个单元测试)
代码统计
- MoonBit 代码:~850 行,21.5 KB
- 测试代码:~150 行,4.9 KB
- 示例/主程序:~80 行,2.6 KB
- Markdown 文档:~200 行,5.8 KB
- 配置文件:~20 行,0.5 KB
- 总计:~1,300 行,35.3 KB
项目结构
moonpath/ ├── moon.mod.json # 项目配置 ├── README.md # 项目说明 ├── COMPLETION_SUMMARY.md # 完成总结 ├── src/ │ ├── graph.mbt # 图数据结构(3.9 KB) │ ├── bfs.mbt # BFS 算法(4.3 KB) │ ├── dijkstra.mbt # Dijkstra 算法(6.0 KB) │ └── astar.mbt # A* 算法(6.7 KB) ├── test/ │ └── test_main.mbt # 测试套件(4.9 KB) └── examples/ └── main.mbt # 使用示例(2.6 KB)
算法对比
算法 适用场景 时间复杂度 是否加权 启发式 BFS 无权图最短路径 O(V+E) ❌ ❌ Dijkstra 正权图最短路径 O((V+E)log V) ✅ ❌ A* 游戏/地图寻路 取决于启发式 ✅ ✅ 下一步计划
- DFS 算法(深度优先搜索)
- Floyd-Warshall 算法(全源最短路径)
- 拓扑排序
- 强连通分量(Kosaraju、Tarjan)
- 最小生成树(Prim、Kruskal)
- 最大流(Ford-Fulkerson)
- 图可视化导出(DOT 格式)
- Benchmark 套件
项目地址
https://code.gitlink.org.cn/momomym/moonpath
MoonBit 生态的第一个图算法库!
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
MoonPath - MoonBit Pathfinding Library
MoonBit 生态的高性能图算法与寻路工具库。
项目简介
MoonPath 为 MoonBit 生态提供:
核心功能
1. 图数据结构(graph.mbt)
2. BFS 算法(bfs.mbt)
3. Dijkstra 算法(dijkstra.mbt)
4. A* 算法(astar.mbt)
快速开始
安装 MoonBit
创建项目
使用示例
示例 1:创建图并查询
示例 2:BFS 最短路径
示例 3:Dijkstra 加权图最短路径
示例 4:A* 算法
算法对比
项目结构
开发计划
已完成 ✅
进行中 ⏳
待实现 📋
贡献指南
欢迎贡献!请遵循:
git checkout -b feature/your-featuregit commit -am 'Add some feature'git push origin feature/your-feature代码规范
许可证
Apache License 2.0 - 详见 LICENSE 文件。
参考资料
MoonBit 官方资源
算法参考
联系作者
MoonPath - 让 MoonBit 拥有强大的图算法能力! 🚀📊