冒泡排序时间复杂度怎么算


冒泡排序时间复杂度怎么算

【冒泡排序时间复杂度怎么算 - 经验总结 www.jingyanzongjie.com】
冒泡排序是一种计算机应用中的排序算法 。
即对于有n个数的待排序数列(假如要求最后是从小到大排列),依次比较两个相邻的数,如果前者大于后者就交换这两个数的位置,这样完成第一轮比较后,最后一个数将是最大的数 。
如果数列初始状态就是正序的,只消进行一轮排序就可完成要求,即冒泡排序最好情况下的时间复杂度为O(n) 。
如果初始是倒序的,就要重复进行n-1轮排序才能完成,每趟排序要进行n-i次相邻数的比较(1≤i≤n-1),因此冒泡排序最差情况下、以及平均的时间复杂度都是O(n2) 。

经验总结扩展阅读