一、排序分類 (1)插入類:直接插入排序、折半插入排序、希爾排序 (2)交換類:冒泡排序、快速排序 (3)選擇類:簡單選擇排序、堆排序(屬於樹形選擇排序) (4)歸並類:2-路歸並排序 (5)分配類:基數排序 二、排序穩定性及其原因 (1)穩定排序:直接插入排序、折半插入排序 ...
排序方式 時間復雜度 空間復雜度 穩定性 平均情況 最壞情況 最好情況 插入排序 O n O n O n O 穩定 希爾排序 O n . O 不穩定 冒泡排序 O n O n O n O 穩定 快速排序 O nlogn O n O nlogn O logn 不穩定 選擇排序 O n O n O n O 不穩定 堆排序 O nlogn O nlogn O nlogn O 不穩定 歸並排序 O nl ...
2018-03-13 16:28 0 1835 推薦指數:
一、排序分類 (1)插入類:直接插入排序、折半插入排序、希爾排序 (2)交換類:冒泡排序、快速排序 (3)選擇類:簡單選擇排序、堆排序(屬於樹形選擇排序) (4)歸並類:2-路歸並排序 (5)分配類:基數排序 二、排序穩定性及其原因 (1)穩定排序:直接插入排序、折半插入排序 ...
排序的穩定性 2019-11-10 09:42:11 by沖沖 1、穩定性 ① 定義:能保證兩個相等的數,經過排序之后,其在序列的前后位置順序不變。(A1=A2,排序前A1在A2前面,排序后A1還在A2前面) ② 意義:穩定性本質是維持具有相同屬性的數據的插入順序,如果后面 ...
轉載自http://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html 分析一下常見的排序算法的穩定性,每個都給出簡單的理由。 冒泡排序冒泡排序就是把小的元素往前調或者把大的元素往后調。比較是相鄰的兩個元素比較,交換 ...
排序算法的穩定性定義: 一個數組中幾個相同的關鍵字經過排序以后相對位置仍然不變,那么稱改排序算法的是穩定的。 舉個例子,在一個數組中,紫色的10排在紅色的10前面,經過排序算法之后,紫色的10位置仍然排序紅色的10之前,那么這個算法就是穩定的。 下面是幾種排序算法的總結: 1. ...
轉載自http://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html 分析一下常見的排序算法的穩定性,每個都給出簡單的理由。 冒泡排序 冒泡排序就是把小的元素往前調或者把大的元素往后調。比較是相鄰的兩個元素比較 ...
1.時間復雜度為O(n^2)排序的穩定性:原序列中相同的值,在排好順序之后,能夠保證原來的相同的值相對順序保持不變。在一個算法中,如果所有相同值,在排完序之后,值的順序不會被打亂,那么這個算法就是穩定的。如果會被打亂,那么這個排序就不具備穩定性。 如果在相等情況下也進行交換,那么冒泡排序就不是穩定 ...
主要的排序算法有八種:直接插入排序,希爾排序(這兩種統稱為插入排序),冒泡排序,快速排序(這兩種統稱為交換排序),直接選擇排序,堆排序(這兩種統稱為選擇排序),歸並排序,基數排序。今天我們就討論一下它們各自的穩定性。如果對算法不熟悉,可以查看我的另外幾篇博客,然后再來閱讀。 一、什么是算法 ...
本文是針對老是記不住這個或者想真正明白到底為什么是穩定或者不穩定的人准備的。 首先,排序算法的穩定性大家應該都知道,通俗地講就是能保證排序前2個相等的數其在序列的前后位置順序和排序后它們兩個的前后位置順序相同。在簡單形式化一下,如果Ai = Aj,Ai原來在位置前,排序后Ai還是要在Aj ...