在这种情况下,“如果不是”意味着什么?

时间:2014-02-27 03:56:03

标签: algorithm

我刚开始学习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吗?

2 个答案:

答案 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。换句话说,它否定了布尔值(truefalse