代码拉取完成,页面将自动刷新
基于C++模板实现的图基本算法
核心代码参考Algorithms in C++ Part 5: Graph Algorithms, Robert Sedgewick, 3rd Edition.
base\,基础支持数据结构和算法
core\,核心图算法
util\,一些实用函数
test\,测试代码
GraphX.h,定义了一些基础的图类型
图的结构布局与算法相对独立实现。
纵向上有稠密图、稀疏图、扁平图3类基本结构;
横向上有无向/有向、单边/多边、始终排序3类配置参数。
两者结合可构造丰富多样的底层结构。
编译器须支持c++17。核心代码全C++模板实现,不需编译,测试代码通过MSVC2019和GCC11编译。
创建有向稠密图的示例代码:
#include "GraphX.h"
DigraphDd g(6);
g.addEdge(0, 1, 0.41), g.addEdge(0, 5, 0.29);
g.addEdge(1, 2, 0.51), g.addEdge(1, 4, 0.32);
g.addEdge(2, 3, 0.50);
g.addEdge(3, 0, 0.45), g.addEdge(3, 5, 0.38);
g.addEdge(4, 2, 0.32), g.addEdge(4, 3, 0.36);
g.addEdge(5, 1, 0.29), g.addEdge(5, 4, 0.20);
对图g进行深度优先迭代的示例代码:
#include "../core/KtDfsIter.h"
KtDfsIter<DigraphDd> dfs(g, 0);
std::vector<unsigned> v;
for (; !dfs.isEnd(); ++dfs)
v.push_back(*dfs); // *dfs表示当前遍历的顶点序号
更多示例代码参考test目录下的测试代码。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型