演算法基礎複習 InsertionSort

2021-07-24 06:38:37 字數 510 閱讀 1073

前言:為了後續的實習面試,開始瘋狂刷題,非常歡迎志同道合的朋友一起交流。因為時間比較緊張,目前的規劃是先過一遍,寫出能想到的最優演算法,第二遍再考慮最優或者較優的方法。如有錯誤歡迎指正。博主首發csdn,mcf171專欄。

——————————————————————————————

一般來說,插入排序都採用in-place在陣列上實現。具體演算法描述如下:

從第乙個元素開始,該元素可以認為已經被排序

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

如果該元素(已排序)大於新元素,將該元素移到下一位置

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置

將新元素插入到該位置後

重複步驟2~5

時間複雜度:最好o(n);平均o(nlogn);最壞o(nlogn);空間複雜度o(1);

public static void insertionsort(int array)

基礎排序演算法複習

1.計數排序 計數排序的四個步驟 a.初始化c 0 k 為0 b.對於每個元素a i c a i c記錄a中各個元素出現的次數,比如中,c 1 2,c 2 0,c 3 1 c.對於i 1 to k,c i c i c i 1 此時c記錄小於等於i的元素的個數,c 1 2,c 2 2,c 3 3 d....

演算法基礎複習 QuickSort

前言 為了後續的實習面試,開始瘋狂刷題,非常歡迎志同道合的朋友一起交流。因為時間比較緊張,目前的規劃是先過一遍,寫出能想到的最優演算法,第二遍再考慮最優或者較優的方法。如有錯誤歡迎指正。博主首發csdn,mcf171專欄。發現自己的基礎有點不牢,複習一下基本的演算法。quicksort的時間複雜度最...

演算法基礎複習 RadixSort

前言 為了後續的實習面試,開始瘋狂刷題,非常歡迎志同道合的朋友一起交流。因為時間比較緊張,目前的規劃是先過一遍,寫出能想到的最優演算法,第二遍再考慮最優或者較優的方法。如有錯誤歡迎指正。博主首發csdn,mcf171專欄。基數排序 總體思路是 基數排序的時間複雜度是o k n 其中n是排序元素個數,...