面試 演算法排序(6)(氣泡排序)

2021-08-04 14:57:45 字數 711 閱讀 8553

氣泡排序:

思路就是交換排序,通過相鄰資料的交換來達到排序的目的

流程:

①對陣列中的各資料,依次比較相鄰的兩個元素的大小

②如果前面的資料大於後面的資料就交換兩個資料,經過第一輪的多次比較排序後,便可將最小的資料排好

③再用同樣的方法把剩下的資料逐個比較

**展示:

package third;

public

class mp }}

}public

static

void

main(string args)

system.out.print("排序前的陣列為:\n");

for (int i=0;iout.print(" "+shuzu[i]);

}system.out.print("\n");

mp(shuzu);

system.out.println("排序後的陣列為:");

for(int i=0;iout.print(" "+shuzu[i]);

}system.out.print("\n");

}}

演算法分析:

時間複雜度:o(n^2)

空間複雜度:o(1)

穩定性:穩定

最佳情況:當被排序檔案初態為正序時,演算法的時間複雜度為o(n)

面試 演算法部分 氣泡排序

三 四 時間複雜度 第一次排序 6和3比較,6大於3,交換位置 3 6 8 2 9 1 第二次排序 6和8比較,6小於8,不交換位置 3 6 8 2 9 1 第三次排序 8和2比較,8大於2,交換位置 3 6 2 8 9 1 第四次排序 8和9比較,8小於9,不交換位置 3 6 2 8 9 1 第五...

面試演算法 排序

0.演算法時間複雜度 演算法的時間複雜度和空間複雜度 總結 1.快速排序 白話經典演算法系列之六 快速排序 快速搞定 快速排序最好,最壞,平均複雜度分析 2.歸併排序 白話經典演算法系列之五 歸併排序的實現 blog.csdn.net morewindows article details 6678...

面試 演算法排序(3)(希爾排序)

shell排序 嚴格來說基於插入排序的思想,又稱希爾排序或者縮小增量排序 流程 將有n 個元素的陣列分成n 2個數字序列,第1個資料和第n 2 1個資料為1對,第2個資料和第n 2 2個資料為一對 一次迴圈使每乙個序列隊排好順序 然後,再變為n 4個序列,再次排序 不斷重複上述過程,隨著序列減少最後...