# ShortestPathFindingAlgorithm **Repository Path**: winshu/ShortestPathFindingAlgorithm ## Basic Information - **Project Name**: ShortestPathFindingAlgorithm - **Description**: 基于Dijkstra算法的最短路径查找(swing,GUI,图形化动态效果,含有向图、无向图) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 99 - **Forks**: 38 - **Created**: 2015-02-28 - **Last Updated**: 2024-11-26 ## Categories & Tags **Categories**: mathlibs **Tags**: None ## README # 项目介绍 基于 Dijkstra 算法实现的最短路径寻找测试。 ## 元素说明 1. **绘制节点/连线** 该状态下可以在画板中添加节点或连线 2. **移动节点** 该状态下可以在画板中调整节点位置 3. **显示权重** 选中会显示节点间的距离 4. **有向图** 选中为有向图,否则为无向图 5. **循环运行** 选中则会循环运行,否则只运行一次 6. **运行/停止** 运行或停止动画 7. **调换** 调换起点和终点 8. **清空连线** 清空所有连线 9. **清空所有** 清空整个画板 10. **右键菜单-设为起点** 将当前节点设为起点 11. **右键菜单-设为终点** 将当前节点设为终点 12. **右键菜单-移除节点** 移除当前节点 13. **右键菜单-移除连线** 移除当前节点 14. **状态栏** X,Y (鼠标位置)N (节点数)L(直线数)FX,FY (节点位置) ## 其他说明 - 支持导入、导出 - 支持设置底图,以作参考 - `Ctrl+P`上一步,`Ctrl+N`下一步 ## 操作步骤 1. 添加节点,选中 **绘制节点/连线** ,在画板中添加节点 2. 添加连线,选中 **绘制节点/连线** ,在画板中两个节点间拖拽添加直线 3. 设置起点,在节点上打开右键菜单 **设为起点** 4. 设置终点,在节点上打开右键菜单 **设为终点** 5. 开始运行,点击运行 如果起点和终点间存在通路,将能看到 Runner 从起点走向终点 试试按住`Ctrl`,有彩蛋哦。 ## 示例 ![image](src/main/resources/doc/demo.png)