在本教程中,我们将学习用 C++ 实现超图。
定义- 超图是图的特殊版本。其中单个可以连接2个或多个顶点。
在普通图中,单条边只能连接 2 个顶点,但超图是图的泛化,可以用于用单条边连接 2 个以上的顶点。
在超图中,边称为超边。我们可以用 H(E, V) 来表示超图,其中 E 是一条超边,v 是由单个超边连接的顶点集合。
在这里,我们实现了超图。
示例
在下面的示例中,我们演示了使用 C++ 中的地图数据结构实现超图。在地图中,我们将边名称存储为键,将边连接的顶点集存储为值。
之后,我们使用erase()方法从图中删除“edge2”。另外,使用 insert() 方法将连接 4 个顶点的“edge4”插入到图中。
最后,我们打印了图形的所有边及其连接的顶点。
#include
#include
using namespace std;
void createHyperGraph() {
// Creating the hypergraph
map h_graph = {{"edge1", {32, 21, 90}},
{"edge2", {21, 47, 54}},
{"edge3", {43, 76}}};
// Removing edge from the hypergraph
h_graph.erase("edge2");
// Inserting a new edge in the hypergraph
h_graph.insert({"edge4", {48, 61, 93, 52, 89}});
cout