我正在做一项家庭作业,其中要求我找到修改后的冒泡排序对大小为n的数据集进行的比较次数。要考虑的数据集是一个排序列表,其中第一个和最后一个元素被交换,例如:52341。下面是算法的伪代码:
i <- n-1; new_i <- i
while i > 0 do
for j=1 to i do
if A[j] > A[j+1] do
A[j] <=> A[j+1]
new_i <- j
endif
endfor
i <- new_i - 1; new_i <- i
endwhile
A 是数据集,<=> 是交换。
我试图找到一种方法来表示该算法,并将求和简化为对给定类型数据集的比较量的表达式。
没有给出答案,有人能把我推向正确的方向吗?