在有向图中用递归找到简单的循环。 C

时间:2018-10-21 00:10:37

标签: c recursion directed-graph

我有一个有向图,我试图在其中找到图节点的所有简单圆。 我的图看起来像这样directed graph

每个代表用户名的g_node都有一个t_nodes列表,该列表代表与其他用户名的事务。每个交易节点都指向其进行交易的用户名以及交易本身。例如,A与B的交易a权重为a1-> b2,权重为500。由于A实际上将钱给了B,因此也必须表示该方向。用户名提供资金时,方向为0,而用户名获得资金时,方向为1。如果用户名进行交易,其自身方向为2。

这是我的代码:

library(prettyR)
lbls <- sort(levels(data$Variable1))
lbls <- (sub("^\\([0-9]+\\) +(.+$)", "\\1", lbls))
data$Variable1 <- as.numeric(sub("^\\(0*([0-9]+)\\).+$", "\\1", data$Variable1))
data$Variable1 <- add.value.labels(data$Variable1, lbls)

我的图表有大约13000个用户名,其中包含7 * 13000个交易。我的递归由于某种原因而挂起,并且不打印任何周期,或者永远打印周期。 对于较小的图形,一切正常。我无法找到一种方法来代表3个或4个用户名。您能发现我的代码有什么根本错误的地方吗?

谢谢。

0 个答案:

没有答案