排序的總結

2021-06-20 14:47:31 字數 633 閱讀 1144

總結下排序的經驗:

排序演算法有n多,想全部掌握不太實際,先分類別吧,穩定排序和不穩定排序,

穩定排序包含了:bubble sort(氣泡排序)、insertion sort(插入排序)、merge sort(歸併排序)、bucket sort(桶排序)、radix sort(基數排序)、binary tree sort(二叉樹排序)、library sort(圖書館排序)

不穩定排序包含了:selection sort(選擇排序)、shell sort(希爾排序)、heapsort(堆排序)、quicksort(快速排序)

時間複雜度:bubble sort和insertion sort最差和平均都是o(n^2)最好是o(n);merge sort是o(nlog(n));bucket sort是o(n);radix sort是o(kn);binary tree sort是(nlog(n));library sort是o(nlog(n));selection sort都是o(n^2);shell sort是o(nlog(n));heap sort是o(nlog(n));quick sort 平均是o(nlog(n))最壞是o(n^2)。

排序的選擇:n較小,可以直接插入排序,選擇排序;n為有序,直接插入,氣泡排序;n較大就應考慮時間複雜度,快速排序,堆排序,歸併排序

排序的總結

流程 每次都進行相鄰元素的對比,如果前乙個數字大於後乙個數字,則進行交換,之後對每一對元素都進行相同的操作,經過一輪掃瞄之後最大的元素就被放置在最後乙個元素。然後再從頭進行同樣的流程,只是接下來掃瞄的截止位置減少了1個。實現 public static void bubblesort int arr...

排序 各種排序的總結

1 氣泡排序 快速排序 可能很多人會奇怪為何會把這兩種排序方式放在一起,那是因為,氣泡排序恰好是快速排序的最壞情況,相應地快速排序則是氣泡排序的優化。氣泡排序的思想 每次比較相鄰的元素,共比較 n 1 輪。排序過程中,左邊是待排序序列,右邊是已排序序列。屬於穩定排序演算法。快速排序的思想 兩個關鍵指...

關於排序的總結

在資料結構中講了一些基本的排序方法,在此做乙個總結。1 插入排序 這種排序是每一趟都在找某個帶插入元素的位置,找到之後插入到待插入的點。1 直接插入排序 這種方法是從陣列的第乙個元素依次到最後乙個元素,當當前為第i個元素時,和前面的元素逐個相比較,以找到其在前面i 1個元素當總的位置然後插入。演算法...