C/C ++实现了有向无环图的实现

问题描述 投票:0回答:1
作为新手,我试图用C(或C ++)生成DAG。

struct Node { Link *incomingEdge, *outgoingEdge; }; struct Link { Node *origin, *destination; };
在我的代码中,每个节点只有一个传入和传出的边缘。但是,节点可能具有几个事件边缘。此外,每个节点的事件边缘数可能会更改。

如何为每个节点生成不同数量的指针?

我拥有的Assume;

NODEA,有5个传入的边缘和4个传出的边缘。 NODEB具有3个传入边缘和6个传出边缘。

因此,每个节点的指针数量都在更改。

使用指针的向量

std::vector<Link *> incomingEdge;
c++ c algorithm graph directed-acyclic-graphs
1个回答
1
投票

它取决于您的需求。该图完全由边缘列出,因此简单的答案是,从节点定义省略了。 但是,对于您将要实现的算法,链接列表或相邻节点的适当容器可能会更好。
	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.