演算法(一) 排序sorting

2021-07-04 16:23:21 字數 602 閱讀 2356

問題:輸入數字a1,a2,a3...an,使其公升序輸出。

1、插入排序-insertion sort

·演算法:

這個演算法從陣列的第二個元素開始迴圈,將選中的元素與之前的元素一一比較,如果選中的元素小於之前的元素,則將之前的元素後移,最後再將選中的元素放在合適的位置。在這個演算法執行的過程中,總是保持著索引i之前的陣列是公升序排列的。

package algorithm;

public abstract class insertsort

numbers[j + 1] = currentnumber;}}

}

·running time:

·逆序情況耗時最多

·執行時間上界t(n)=θ(n²);

2、歸併排序-merge sort

·演算法:

將兩個(或兩個以上)有序表合併成乙個新的有序表 即把待排序序列分為若干個子串行,每個子串行是有序的。然後再把有序子串行合併為整體有序序列。

·running time

遞迴表示式:

t(n)=2t(n/2)+o(n)

時間複雜度為o(nlogn)

演算法(一)排序

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

java演算法(一) 排序演算法(上)

排序 sort 是將一組資料按照一定的規則來進行排列,一般按照遞增或者遞減的順序來進行排列。排序演算法是一種最基本的演算法,但是在實際應用中非常廣泛,對於初學程式設計人來說,排序演算法也是最基本的演算法之一。本節主要講解排序演算法中相對簡單的幾種,分別是 1 氣泡排序 2 選擇排序 3 插入排序 後...

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

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