前言:為了後續的實習面試,開始瘋狂刷題,非常歡迎志同道合的朋友一起交流。因為時間比較緊張,目前的規劃是先過一遍,寫出能想到的最優演算法,第二遍再考慮最優或者較優的方法。如有錯誤歡迎指正。博主首發csdn,mcf171專欄。
——————————————————————————————
發現自己的基礎有點不牢,複習一下基本的演算法。quicksort的時間複雜度最快是o(nlogn);平均是
o(nlogn);最壞是o(n^2);空間複雜度是o(logn),原因是在函式棧上的空間消耗
public class sorttool
}if(array[i] < array[mid])
else
quicksort(array,start,mid - 1);
quicksort(array,mid + 1,end);
}public static void swap(int array,int i,int j)
}
基礎演算法 5 快速排序QuickSort
快速排序 快速排序是另乙個分而治之排序演算法。我們將看到,這種確定性的,非隨機化的快速排序的版本可能在對手輸入中具有o n2 的很差的時間複雜度,之後再繼續隨機化的和可用的版本。疑問 確定的,非隨機化的 指的是什麼?指的是樞紐點的選取。快速排序是分而治之的演算法 劃分步驟 選擇乙個專案 p 稱為樞軸...
基礎排序演算法複習
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....
演算法基礎複習 InsertionSort
前言 為了後續的實習面試,開始瘋狂刷題,非常歡迎志同道合的朋友一起交流。因為時間比較緊張,目前的規劃是先過一遍,寫出能想到的最優演算法,第二遍再考慮最優或者較優的方法。如有錯誤歡迎指正。博主首發csdn,mcf171專欄。一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第...