我刚开始学习python。这是我不太了解的算法。
Connected(A[0..n − 1, 0..n − 1])
//Input: Adjacency matrix A[0..n − 1, 0..n − 1]) of an undirected graph G
//Output: 1 (true) if G is connected and 0 (false) if it is not
if n = 1 return 1 //one-vertex graph is connected by definition
else
if not Connected(A[0..n − 2, 0..n − 2]) return 0
else for j ←0 to n − 2 do
if A[n − 1, j] return 1
return 0
那么"if not"
语句是什么意思?
这是if Connected != 1 then return 0
吗?
答案 0 :(得分:2)
在此代码中,它意味着
if Connected(...arguments...) != 1 then return 0
n = 2
表示
if Connected(A[0..0, 0..0]) != 1 then return 0
因为Connected(A[0..0, 0..0]) == 1
(因为A[0..0,0..0]
是一个顶点图)所以代码会运行else for ...
BTW:你的例子不是python代码。
答案 1 :(得分:1)
这只是意味着如果Connected(...)
的结果是true
,那么
not Connected(...)
将是false
。
如果Connected(...)
的结果是false
,那么
not Connected(...)
将是true
。换句话说,它否定了布尔值(true
或false
)