项目简介
本项目致力于助力网安大陆的人民借助最短路径算法,探寻通往计蒜城堡的最短路径,从而以最小损耗迎接与蒜头魔王的决战。项目采用C语言实现,涵盖图分析与搜索算法,并封装成命令行工具(CLI),可在Linux终端直接运行。
项目的主要特性和功能
- 图分析功能
- 能够统计出图中的边和顶点数量。
- 可计算Freeman's Network Centrality和Closeness Centrality。
- 搜索算法
- 实现了DFS、BFS和Dijkstra算法,用于查找最短路径。
- 提供
char* shortestPath(int u, int v, char algorithm[])
函数,依据指定算法返回从起点到终点的最短路径。
- 命令行工具
- 提供
search-cli
CLI工具,支持以下命令:-h/--help
:显示帮助菜单。-g/--graph FILE_PATH -s/--stats STATS_PARAMS
:显示图的统计信息。-g/--graph FILE_PATH -sp/--shortestpath SEARCH_PARAMS -u STARTING_POINT -v TARGET_POINT
:显示从起点到终点的最短路径。
- 提供
安装使用步骤
下载源码
bash
git clone <your-repo-url>
cd GraphProject
编译项目
bash
make
编译后会生成名为search-cli
的可执行文件。
运行CLI工具
- 显示帮助菜单
bash ./search-cli -h
- 显示图的统计信息
bash ./search-cli -g ./dummy_test.txt -s edges
- 显示最短路径
bash ./search-cli -g ./dummy_test.txt -sp Dijkstra -u 1 -v 5
测试
- 利用提供的
dummy_test.txt
文件进行本地测试,保证算法的正确性。 - 可使用更大的数据集如
test.txt
进行性能测试。
清理
bash
make clean
通过上述步骤,即可成功编译并运行本项目,帮助网安大陆的人民找到通往计蒜城堡的最短路径,战胜蒜头魔王。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】