假设单向冒泡排序也是 在如果没有交换发生的情况下则终止(即changeFlag==false的情况下).
以下是单向冒泡排序
1、最差情况:假设输入打下为n
1)单向排序
需要进行n次外循环,n次changeFlag=false;赋值和后面的比较判断,即2*n。每次外循环有n-i-1次内循环,(内循环总数为0+1+2+…+(n-1)=n*(n-1)/2次循环。每次内循环需要进行两次比较,三次赋值,(2+3)*n*(n-1)/2.
本文分析了单向冒泡排序和双向冒泡排序算法,包括它们的实现细节和最差时间复杂度。虽然两者的时间复杂度相同,但双向冒泡排序在数据部分打乱时能更快找到正确位置,减少了不必要的比较和交换。
假设单向冒泡排序也是 在如果没有交换发生的情况下则终止(即changeFlag==false的情况下).
以下是单向冒泡排序
1、最差情况:假设输入打下为n
1)单向排序
需要进行n次外循环,n次changeFlag=false;赋值和后面的比较判断,即2*n。每次外循环有n-i-1次内循环,(内循环总数为0+1+2+…+(n-1)=n*(n-1)/2次循环。每次内循环需要进行两次比较,三次赋值,(2+3)*n*(n-1)/2.

被折叠的 条评论
为什么被折叠?