常見穩(wěn)定排序和不穩(wěn)定排序區(qū)別

排序算法主要包括有插入排序、希爾排序、冒泡排序、快速排序、選擇排序、堆排序、歸并排序、基數(shù)排序。

穩(wěn)定排序


穩(wěn)定排序包括插入排序、冒泡排序、歸并排序、基數(shù)排序

穩(wěn)定性分析

插入排序:在一個(gè)有序的序列中插入一個(gè)數(shù),使插入后的序列保持有序。因?yàn)椴迦氲倪^程中都是從后向前進(jìn)行查找,遇到小于等于(或大于等于)的數(shù)停止尋找,進(jìn)行插入操作。不改變排序前后相等數(shù)值的相對(duì)順序,故使穩(wěn)定的排序算法。

冒泡排序:冒泡故名思義,數(shù)值小的向上飄,數(shù)值大的向下沉,向上飄的數(shù)遇到的小于等于當(dāng)前數(shù)的值停止,向下沉的數(shù)遇到大于等于當(dāng)前數(shù)的數(shù)停止,類似于對(duì)于向上飄的數(shù)有個(gè)排序之前在其前面數(shù)值相等限制了其向上飄的腳步,原先在俺之下,排序后也在俺之下,向下沉也是同理。故也是穩(wěn)定的排序算法。

歸并排序:將一段序列分為若干個(gè)小序列進(jìn)行排序,排序后的小序列進(jìn)行合并得到最后的排序結(jié)果。主要運(yùn)用了分治的思想。分成的前后若干個(gè)小序列在最后進(jìn)行合并時(shí)本身就包含了前后位置信息,在合并時(shí)不改變相同值在排序前后的相對(duì)順序,故歸并排序也是穩(wěn)定排序。

基數(shù)排序:按從低到高的相應(yīng)位的值進(jìn)行排序,也是穩(wěn)定排序算法。

不穩(wěn)定排序算法


非穩(wěn)定排序算法包括:選擇排序、快速排序、希爾排序、堆排序

對(duì)于這種非穩(wěn)定排序,我習(xí)慣是記住一個(gè)例子就好

選擇排序:

[1,2,4,2,5,3 ]?

主要思想是分別找出當(dāng)前遍歷元素中的最小值與相應(yīng)位置的數(shù)進(jìn)行交換,第一遍尋找元素的從第一個(gè)元素起的最小值(或最大值)和第一個(gè)元素進(jìn)行交換,第二趟尋找從第二個(gè)元素起最小的(或最大的)元素與第二個(gè)元素進(jìn)行交換,以此類推。

[3,3',2]? ? 排序后? [2,3',3]

快速排序

[5,3,3,4,3',8,7]? 排序后[3',3,3,4,5,8,7]

希爾排序

一次插入排序是穩(wěn)定的,多次插入排序不是穩(wěn)定的。

堆排序

不是穩(wěn)定排序算法,下次補(bǔ)充。

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,303評(píng)論 0 52
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個(gè)記錄插入到已排序好...
    依依玖玥閱讀 1,354評(píng)論 0 2
  • 一. 寫在前面 要學(xué)習(xí)算法,“排序”是一個(gè)回避不了的重要話題,在分析完并查集算法和常用數(shù)據(jù)結(jié)構(gòu)之后,今天我們終于可...
    Leesper閱讀 2,641評(píng)論 0 40
  • 大寫的轉(zhuǎn) 目錄 [冒泡排序][雞尾酒排序] [選擇排序] [插入排序][二分插入排序][希爾排序] [歸并排序] ...
    Solang閱讀 1,868評(píng)論 0 16
  • 簡單來說,時(shí)間復(fù)雜度指的是語句執(zhí)行次數(shù),空間復(fù)雜度指的是算法所占的存儲(chǔ)空間 時(shí)間復(fù)雜度計(jì)算時(shí)間復(fù)雜度的方法: 用常...
    Teci閱讀 1,236評(píng)論 0 1

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