【发布时间】:2021-03-16 16:24:54
【问题描述】:
我确信这是一个非常简单的问题,但我似乎无法破解它。 证明你的算法的正确性;即陈述其循环不变量并通过归纳证明。
下面是我的算法。我知道如何做第二部分(通过归纳证明),但我就是无法找出我一生中的循环不变量。
procedure intersection(A,B: list of integers)
C= empty list
for i:=1 to n:
for j:= 1 to m:
if Ai = Bj
if Ai not in C
C.append(Ai)
return C
【问题讨论】:
-
也许“C 没有重复元素”、“C 是 A 的子集”和“C 是 B 的子集”都可以是 C 上的不变量?
标签: algorithm nested-loops pseudocode discrete-mathematics loop-invariant