我正在阅读伪代码,我发现了这个:
for j <- 0 to j <= |B| do
for k <- j+1 to k <= |B| do
If IntersectsWith(B[j],B[k]) then
foreach c in B[j].flocks do
C <- insertFlock(C,c)
else
break
endfor
endfor
声明|B|是一个集合的基数,例如,如果我设置了 B={a,b}, |B|将是 2。
根据示例伪代码,索引 (j) 将为 0,1,2。索引 0 映射到元素 'a',索引 1 映射到元素 'b',但索引 2 不能映射到任何地方,因为集合中只有两个元素,所以 j 的值似乎超出了集合。
谁能解释为什么伪代码会这样做,或者我的理解是否不正确?
更新
这个伪代码可以在这篇文章 https://periodicos.ufmg.br/index.php/jidm/article/view/327 上找到,关于算法 2