我正在尝试从我的大学解决 C++ 中的算法问题,但它基本上归结为创建 n*n 图,每个节点都有其邻居的边(基本上类似于连接节点的平方网格)。然后,我需要删除特定的边,并运行最短路径算法(对于未加权的边,我想柠檬有这个功能)。我的问题是如何创建这样的图,如何标记边缘(例如,给它一个特定的类),以及如何删除节点之间的边缘。
#include <lemon/list_graph.h>
using namespace lemon;
int f(std::set<std::pair<point, point> > map, int n) {
ListGraph graph;
for (int i = 0; i < size; i++) {
graph.addNode();
}
return 0;
}
非常感谢!