經典演算法學習(一)排序之氣泡排序

2021-09-28 11:11:15 字數 721 閱讀 4421

演算法即內功

1.排序是什麼

排序簡單來說就是以公升序或者是降序來排列資料的演算法。

2.為什麼要排序

排序是電腦科學中非常重要的的一類演算法,排序可以顯著地降低問題的複雜性。比如查詢。

3.排序的分類

氣泡排序是最簡單的一種排序演算法。它從輸入陣列的第乙個元素開始迭代到最後乙個元素。比較相鄰的兩個元素,在需要的時候進行交換。持續進行這樣的迭代直到整個陣列的元素是有序的。因為每次迭代會找到乙個最大或者最小的元素把他放在陣列開始或者結尾,故稱之為氣泡排序。

實現:

void

bubblesort

(int a,

int n)}}

}

根據代買我們可以看出演算法的時間開銷為o(n^2)。這是相當的大了,所以基本不推薦使用。但是因為很簡單,在資料量很小的時候也可以用。我們也可以對氣泡排序進行優化。這樣可以在上一次迭代如果已經沒有交換發生說明陣列已經有序,後面的迭代我們就可以不進行了。這樣可以進行一定的優化。

void

bubblesort

(int a,

int n)}}

}

進行優化後的**在最好情況下的時間複雜度為o(n)。

所以進行優化後最後情況的複雜度還是o(n),所以一般不推薦使用氣泡排序。

演算法學習(一) 排序演算法

參考 排序 氣泡排序是一種很簡單也很常見的排序演算法,我們在初學程式語言,尤其是初學陣列的時候,應該都了解過氣泡排序,下面就當複習吧。public static void pubblesprt int array,int left,int right 氣泡排序 從陣列下標left開始,依次比較相鄰兩...

經典演算法學習(一)排序之選擇排序與插入排序

演算法即內功 選擇排序是一種就地排序。選擇排序適用資料量小的時候。排序是基於關鍵量。在迭代的時候與關鍵量進行比較,在需要交換的時候再交換。優點 缺點 演算法 1.選擇最小 大 值放在第乙個位置。2.選擇剩下元素的最小 大 值放在第二個位置。3.就這樣一直選擇,直到最後。void selectsort...

演算法(一)排序

一 o n 2 的排序演算法 1.選擇排序 selection sort 先找到最小的 public static void selectsort int arr 2.氣泡排序 bubble sort 先找到最大的 public static void bubblesort int arr 3.插入...