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

2021-09-28 12:16:18 字數 723 閱讀 5657

演算法即內功

選擇排序是一種就地排序。選擇排序適用資料量小的時候。排序是基於關鍵量。在迭代的時候與關鍵量進行比較,在需要交換的時候再交換。

優點:

缺點:

演算法:1.選擇最小(大)值放在第乙個位置。

2.選擇剩下元素的最小(大)值放在第二個位置。

3.就這樣一直選擇,直到最後。

void

selectsort

(int a,

int n)

a[i]

=a[j]

; a[j]

=min;

}}

時間複雜度:o(n^2)

插入排序是一種比較簡單有序的比較排序。在這個演算法中,每次迭代都會從資料中刪除乙個元素,並將其插入有序列中該元素該位於的位置上。從輸入資料中隨機選擇被刪除的元素,重複上述過程直到所有輸入元素均已插入有序序列中。

優點:

演算法:

void

insertsort

(int a,

int n)

a[j]

=v;}

}

插入排序要優於前兩種排序,因為在基本有序的輸入時,插入排序幾乎是線性的。

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

演算法即內功 1.排序是什麼 排序簡單來說就是以公升序或者是降序來排列資料的演算法。2.為什麼要排序 排序是電腦科學中非常重要的的一類演算法,排序可以顯著地降低問題的複雜性。比如查詢。3.排序的分類 氣泡排序是最簡單的一種排序演算法。它從輸入陣列的第乙個元素開始迭代到最後乙個元素。比較相鄰的兩個元素...

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

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

演算法(一)排序

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