氣泡排序:
思路就是交換排序,通過相鄰資料的交換來達到排序的目的
流程:
①對陣列中的各資料,依次比較相鄰的兩個元素的大小
②如果前面的資料大於後面的資料就交換兩個資料,經過第一輪的多次比較排序後,便可將最小的資料排好
③再用同樣的方法把剩下的資料逐個比較
**展示:
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個序列,再次排序 不斷重複上述過程,隨著序列減少最後...