今天去某公司面试,有一个问题问,冒泡排序的最佳情况的时间复杂度是多少,我答的是O(n^2),面试官一脸懵逼,今天在Stackoverflow上看到了O(n)的写法,最佳情况的时间复杂度是O(n),今天是涨姿势了。
public void bubbleSort(int arr[]) {
boolean didSwap;
for(int i = 0, len = arr.length; i < len - 1; i++) {
didSwap = false;
for(int j = 0; j < len - i - 1; j++) {
if(arr[j + 1] < arr[j]) {
swap(arr, j, j + 1

面试中遇到关于冒泡排序最佳时间复杂度的问题,通常认为是O(n^2),但其实当输入数组已排序时,冒泡排序只需n次比较即可完成,因此最佳时间复杂度为O(n)。
最低0.47元/天 解锁文章
713

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



