// 创建一个图
let g = Graph::new[@int, @int]()
let a = g.add_node(0)
let b = g.add_node(1)
let c = g.add_node(2)
g.add_edge(a, b, 1)
g.add_edge(b, c, 2)
// BFS 遍历
let order = bfs(g, a)
// order = [0, 1, 2]
// Dijkstra 最短路
let (dist, prev) = dijkstra(g, a)
// dist = [0, 1, 3]
moon_toolkit
MoonBit 通用图算法工具箱 🌙
提供从基础图数据模型到高级图算法的完整能力,面向编译器构建、包依赖解析、路径规划、网络分析、游戏 AI、状态机处理等场景。
功能特性
图数据模型
Graph[N, E]遍历
最短路径
数据结构
即将支持
安装
使用示例
开发
项目状态
🚧 开发中 — 核心数据结构和基础算法已实现,更多算法持续添加中。
Graph[N, E]许可证
Apache-2.0
参赛信息
本项目参加 2026 MoonBit 国产基础软件开源大赛。
https://github.com/oldpig/moon_toolkithttps://gitlink.org.cn/oldpig/moon_toolkit