如何解决冒泡排序:确定内循环和外循环的不变量
我不是 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 举报,一经查实,本站将立刻删除。