iOS算法總結(jié)-回顧

根據(jù)將排序記錄是否全部放置在內(nèi)存中,將排序分為內(nèi)排序和外排序,之前講的都是內(nèi)排序,這里總結(jié)一下,內(nèi)排序分為四類(lèi):插入排序、交換排序、選擇排序和歸并排序。前幾篇介紹的7種算法分別是各種分類(lèi)的代表算法:

目前還沒(méi)有十全十美的排序算法,即使是快速排序法,也只是在整體性能上優(yōu)越,它也存在排序不穩(wěn)定、需要大量輔助空間、對(duì)少量數(shù)據(jù)排序無(wú)優(yōu)勢(shì)等不足。這里我們就來(lái)從多個(gè)角度來(lái)剖析一下提到的各種排序的長(zhǎng)與短。

我們將7種算法的各種指標(biāo)進(jìn)行對(duì)比:

從算法的簡(jiǎn)單性來(lái)看,分為兩類(lèi):

  • 簡(jiǎn)單算法:冒泡、選擇、插入。
  • 改進(jìn)算法:希爾、堆、歸并、快速。

平均情況: 顯然最后3種改進(jìn)算法要?jiǎng)龠^(guò)希爾排序,并遠(yuǎn)遠(yuǎn)勝超過(guò)前3種簡(jiǎn)單算法,所以堆、歸并、快速算法要好一點(diǎn)。

最好情況:冒泡和插入排序要更勝一籌,如果你的待排序序列總是基本有序,你就考慮這兩種算法。

最壞情況:堆排序和歸并排序又強(qiáng)于快速排序以及其他簡(jiǎn)單排序。

空間復(fù)雜度: 歸并排序和快速排序就比較消耗內(nèi)存。所以不要選擇歸并排序和快速排序。

穩(wěn)定性: 歸并排序 獨(dú)占鰲頭。

待排序記錄的個(gè)數(shù): 待排序的個(gè)數(shù)n越少,采用簡(jiǎn)單排序方法越合適,反之,n越大,采用改進(jìn)排序方法越合適。至于n多少比較合適,目前還沒(méi)有定義。

從表中看,似乎選擇排序在3種簡(jiǎn)單排序中性能最差,其實(shí)也不完全是,比如,如果比較的關(guān)鍵字信息量比大,比較次數(shù)比較多,這樣移動(dòng)記錄所花費(fèi)的時(shí)間也就越多,我們給出3種簡(jiǎn)單排序算法的移動(dòng)次數(shù)比較:

你會(huì)發(fā)現(xiàn)選擇排序就非常有優(yōu)勢(shì),原因在于它是通過(guò)大量比較后選擇明確記錄進(jìn)行移動(dòng),有的放矢。因此對(duì)于數(shù)量不是很大而比較需求比較大的時(shí)候,選擇排序算法是占優(yōu)的。另外,記錄的關(guān)鍵信息量大小對(duì)那四個(gè)改進(jìn)算法影響不大。

總之,從指標(biāo)來(lái)看,快速排序是性能最好的排序算法,如果求穩(wěn)定的話,建議選擇歸并排序。

上一篇:iOS算法總結(jié)-快速排序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,297評(píng)論 0 52
  • 概述:排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,818評(píng)論 0 15
  • 作者:大海里的太陽(yáng)原文地址:http://www.cnblogs.com/wxisme/ 前言 查找和排序算法是算...
    IT程序獅閱讀 2,616評(píng)論 0 63
  • 在我轉(zhuǎn)身的那一瞬間,一陣鼻酸,手扶梯變得那么長(zhǎng),人來(lái)人往。盡力往上看,怕眼淚落下來(lái)。我是難過(guò)你的離開(kāi),還是為自己難...
    氧_氧氣的氧閱讀 231評(píng)論 1 1
  • 人物介紹 六(6)小隊(duì) 一個(gè)性格迥異的小團(tuán)體,來(lái)自某某小學(xué)六(6)班,怪咖命定魔法隊(duì)。 夕顏 美麗溫柔善良的大姐姐...
    永遠(yuǎn)的超級(jí)六班閱讀 456評(píng)論 0 0

友情鏈接更多精彩內(nèi)容