http://www.blogjava.net/todayx-org/archive/2012/01/08/368091.htmlphp
介紹:html
快速排序是由東尼·霍爾所發展的一種排序算法。在平均情況下,排序 n 個項目要Ο(n log n)次比較。在最壞情況下則須要Ο(n2)次比較,但這種情況並不常見。事實上,快速排序一般明顯比其餘Ο(n log n) 算法更快,由於它的內部循環(inner loop)能夠在大部分的架構上頗有效率地被實現出來,且在大部分真實世界的數據,能夠決定設計的選擇,減小所需時間的二次方項之可能性。java
步驟:算法
排序效果:數據結構
詳細過程:架構
介紹:ide
歸併排序(Merge sort,臺灣譯做:合併排序)是創建在歸併操做上的一種有效的排序算法。該算法是採用分治法(Divide and Conquer)的一個很是典型的應用oop
步驟:.net
排序效果:設計
詳細過程:
介紹:
堆積排序(Heapsort)是指利用堆這種數據結構所設計的一種排序算法。堆是一個近似徹底二叉樹的結構,並同時知足堆性質:即子結點的鍵值或索引老是小於(或者大於)它的父節點。
步驟:
(比較複雜,本身上網查吧)
排序效果:
詳細過程:
(暫無)
介紹:
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工做原理以下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,而後,再從剩餘未排序元素中繼續尋找最小元素,而後放到排序序列末尾。以此類推,直到全部元素均排序完畢。
排序效果:
詳細過程:
介紹:
冒泡排序(Bubble Sort,臺灣譯爲:泡沫排序或氣泡排序)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,若是他們的順序錯誤就把他們交換過來。走訪數列的工做是重複地進行直到沒有再須要交換,也就是說該數列已經排序完成。這個算法的名字由來是由於越小的元素會經由交換慢慢「浮」到數列的頂端。
步驟:
排序效果:
詳細過程:
介紹:
插入排序(Insertion Sort)的算法描述是一種簡單直觀的排序算法。它的工做原理是經過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上,一般採用in-place排序(即只需用到O(1)的額外空間的排序),於是在從後向前掃描過程當中,須要反覆把已排序元素逐步向後挪位,爲最新元素提供插入空間。
步驟:
排序效果:
(暫無)
詳細過程:
介紹:
希爾排序,也稱遞減增量排序算法,是插入排序的一種高速而穩定的改進版本。
希爾排序是基於插入排序的如下兩點性質而提出改進方法的:
排序效果: