我很确定表示矩阵的1-0矩阵是传递的a_ij = 1 == a_ji = 1意味着矩阵a的a_ii == 1(不确定)。问题是我总是回归真实。谢谢你的帮助。
def transitive(a):
"""Returns True if the relation M is transitive, False otherwise."""
assert (len(row) == len(M) for row in M)
for i in range (len(a)):
for j in range (len(a)):
if (a[i][j] == 1 and a[j][i] == 1 and a[i][i] == 1):
return True
return False
print transitive([[1,0,1],[0,1,1],[0,1,1]])
答案 0 :(得分:3)
您return True
一旦找到一个传递链接(并打破循环),而不是在找到整个链时。
相反,当您发现链接断开(循环中的条件不成立)时,您可以return False
,如果找不到这样的断开链接,则可以return True
。