【发布时间】:2021-07-24 01:26:23
【问题描述】:
对于下面的函数,我尝试编写一个方法来测试图的矩阵表示是否是有向图。它应该至少包含一条边,但没有对应的边。
//G- Graph
//N - Nodes
bool isDigraph(bool G[N][N]) {
for (int rows = 0; rows < N; rows++)
for (int columns = 0; columns < N; columns++)
if (rows != columns && G[rows][columns] == 1)
return false; // returns false if is not a directed graph
return true; // return true if it is a directed graph
}
这里的目标是显示图形是有向的。如果图形为空且具有自循环,我想确保函数返回 false。
- 虽然我没有收到错误,但问题是当我的图表为空且有自循环时,它总是返回 true。
- 有什么我应该添加到我的代码中的吗?有没有办法表明它至少包含一条边但不包含相应的边? 如果有什么我应该添加到我的问题中以使其清楚,请告诉我。
【问题讨论】:
-
您的意思是
G[rows][columns]在您的if中吗? -
@StephenNewell 是的,我的意思是使用 G[rows][columns]
-
@fabian 我确实提到当图表为空且具有自循环时,我的函数每次使用时都会返回 true