1. 程式人生 > >歸併和氣泡排序

歸併和氣泡排序

歸併和氣泡排序

 

歸併排序:歸併排序是建立在歸併操作上的一種有效的排序演算法,該演算法是採用分治法的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合併成一個有序表,稱為二路歸併

時間複雜度:平均情況O(nlogn) 最好情況O(nlogn) 最壞情況O(nlogn)

空間複雜度:O(n)

穩定

 

 

 

 

 

程式碼:

 

 

 

 

 

 

 

氣泡排序:是一種電腦科學領域的較簡單的排序演算法

它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果他們的順序錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素已經排序完成。

這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“氣泡排序”也叫“沉石排序”。

時間複雜度:平均情況O(n^2) 最好情況O(n) 最壞情況O(n^2)

空間複雜度:O(1)

穩定

 

 

 

 

程式碼: