冒泡排序快速排序--JAVA

冒泡排序

基本思路:

是一種簡單的交換類排序。其基本思路是,從頭開始掃描待排序的元素,在掃描過程中依次對相鄰元素進行比較,將關鍵字值大的元素后移。

每經過一趟排序后,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。

一般地,對n個元素進行冒泡排序,總共需要進行n-1趟。第1趟需要比較n-1次,第2趟需要比較n-2次,......第i趟需要比較n-i次。

快速排序?

對冒泡排序的一種改進,若初始記錄序列按關鍵字有序或基本有序,蛻化為冒泡排序。使用的是遞歸原理,在所有同數量級O(n longn) 的排序方法中,其平均性能最好。就平均時間而言,是目前被認為最好的一種內部排序方法

基本思想是:通過一躺排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

三個指針: 第一個指針稱為pivotkey指針(樞軸),第二個指針和第三個指針分別為left指針和right指針,分別指向最左邊的值和最右邊的值。left指針和right指針從兩邊同時向中間逼近,在逼近的過程中不停的與樞軸比較,將比樞軸小的元素移到低端,將比樞軸大的元素移到高端,樞軸選定后永遠不變,最終在中間,前小后大。

需要兩個函數:

① 遞歸函數? public static void quickSort(int[]n ,int left,int right)

② 分割函數(一趟快速排序函數) public static int partition(int[]n ,int left,int right)

代碼

打印排序后的結果

二分法插入排序;

算法思想簡單描述:

在插入第i個元素時,對前面的0~i-1元素進行折半,先跟他們

中間的那個元素比,如果小,則對前半再進行折半,否則對后半

進行折半,直到left>right,然后再把第i個元素前1位與目標位置之間

的所有元素后移,再把第i個元素放在目標位置上。

9*9乘法表

9*9
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容