国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

詳細總結C++的排序算法

2020-01-26 14:30:07
字體:
來源:轉載
供稿:網友

排序算法經過了很長時間的演變,產生了很多種不同的方法。對于初學者來說,對它們進行整理便于理解記憶顯得很重要。每種算法都有它特定的使用場合,很難通用。因此,我們很有必要對所有常見的排序算法進行歸納。

我不喜歡死記硬背,我更偏向于弄清來龍去脈,理解性地記憶。比如下面這張時間復雜度圖,我們將圍繞這張圖來分析。

上面的這張圖來自一個PPT。它概括了數據結構中的所有常見的排序算法,給大家總結如下。

區分穩定與不穩定:快速、希爾、堆、選擇不穩定,其他排序算法均穩定。

平均時間復雜度:冒泡,選擇,插入是O(n2),其他均是O(n*log2n)

最壞時間復雜度:冒泡,選擇,插入,快排是O(n2),其他是O(n*log2n)

平均和最壞時間復雜度:只有O(n2)和O(n*log2n)兩種,冒泡,選擇,插入是O(n2),最壞情況下加一個快排,其他均是O(nlog2n)。

一、直接插入排序(插入排序)。

     1、算法的偽代碼(這樣便于理解):    

   INSERTION-SORT (A, n)       A[1 . . n]    for j ←2 to n      do key ← A[ j]      i ← j 

主站蜘蛛池模板:
娄底市|
奎屯市|
延庆县|
新野县|
九江县|
江阴市|
鸡西市|
韶山市|
平南县|
乐东|
金门县|
郓城县|
井冈山市|
南丹县|
宣汉县|
天台县|
安福县|
星子县|
息烽县|
景德镇市|
焦作市|
哈密市|
齐河县|
富蕴县|
永春县|
遵义县|
崇州市|
安塞县|
疏勒县|
鄂伦春自治旗|
南康市|
虎林市|
镇雄县|
元阳县|
德清县|
香格里拉县|
耒阳市|
蕉岭县|
柳河县|
西峡县|
河池市|