graphv,一个基于C++和JavaScript的图分析可视化工具
核心算法API,包括:
- 最短路
- 最小生成树
- 中心度
- 不同边阈值下的连通分量
基于D3的可视化组件
通过数据建图,使用json保存结果
VS 2017
参与需遵循如下代码规范(my partner)
- 所有类和函数统一放在名称为graphv的命名空间中
- 不允许仅仅使用#pragma once来防止重复引用
- 对每个类,如果实现了五个default函数中的任意一个或多个,应当显式地对这五个函数的每一个进行声明。
- 五个函数指拷贝构造、拷贝赋值、移动构造、移动赋值、析构函数
- 对仍然采用默认行为的函数,使用 = default
- 对禁止进行的操作,使用 = delete
- 特别地,对于含有动态资源的类(包括指针和容器等),显式声明这五个函数
- 使用unique_ptr代替不可共享的指针,shared_ptr代替可以共享的指针
- unique_ptr几乎没有额外开销
- 如果使用裸指针,注释说明不使用unique_ptr的原因并说明何时释放资源
- 使用enum class表示枚举常量
- 不允许全局使用using namespace
基于MIT LICENSE