运行控制台示例
准备 .NET 10 SDK,在仓库根目录运行示例,查看距离矩阵与多跳路径。
dotnet run --project examples/ConsoleDemo来自 Unity 工作项目的寻路需求,用预计算支持反复查询距离与路线。
距离矩阵、A → B → C → D 的最短路径与不可达顶点 E。
来自工作中 Unity 游戏项目的实际寻路需求。将经典 Floyd–Warshall 算法实现为轻量 C# 组件,对相对稳定的图一次计算全点对距离,再供业务反复查询距离与还原路线。
放大查看O(V³) 时间、O(V²) 空间预处理后,O(1) 读取距离,O(L) 还原长度为 L 的路线。
适合规模可控的稳定图、多次查询;路网频繁变化或仅查询少量路径时,应比较按需搜索。
截图是原控制台输出的阅读报告;该组件负责图上路径计算,不包含完整的 Unity 导航系统。
准备 .NET 10 SDK,在仓库根目录运行示例,查看距离矩阵与多跳路径。
dotnet run --project examples/ConsoleDemo邻接矩阵对角线为 0,无边为 float.PositiveInfinity;前驱表记录终点的前一个顶点。
float inf = float.PositiveInfinity;
float[,] graph = { { 0, 3, 10 }, { inf, 0, 2 }, { inf, inf, 0 } };
var (predecessors, distances) = FloydShortestPath.Compute(graph);
int[] route = FloydShortestPath.GetPath(predecessors, 0, 2); // 0, 1, 2
float distance = distances[0, 2]; // 5