问题描述
我不是 100% 确定如何确定以下冒泡排序实现的不变量:
BubbleSort(A[1,...,n])
s <- 1
while s = 1
s <- 0
for j <- 1 to length(A)
if A[j] > A[j+1]
A[j] <-> A[j+1]
s <- 1
我会说内循环的不变量是:
A[j] = max {A[k] | k \in {1,..,j-1}}
。
但是,我不太确定是否必须将变量 s
添加到这个特定的不变量中。如果必须,我会说 (s = 0) => a_1 <= a_2 <= ... <= a_(j-1)
是一个很好的候选者。这样对吗?还是我完全错了?
也许有人能帮我几分钟。我会很感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)