常見排序算法

1.基于桶的排序

  1. 桶排序
    簡介:
  • 判斷數(shù)據(jù)的范圍诈豌,將數(shù)據(jù)范圍劃分為桶
  • 將數(shù)據(jù)放入桶中
  • 桶內(nèi)進行任意排序
  • 桶的個數(shù)最多時為計數(shù)排序
    應(yīng)用:
  1. 計數(shù)排序
    簡介:
  • 選取數(shù)組中的最大值max和最小值min
  • 使用一個大小為max - min + 1的數(shù)組help购笆,遍歷原數(shù)組,某個值出現(xiàn)一次,便在數(shù)組中加1
  • 根據(jù)help中出現(xiàn)的個數(shù)歹垫,給出新數(shù)組的結(jié)果
    應(yīng)用:
  1. 基數(shù)排序
  • 可以用于任意進制,常用于10進制颠放,高位不足時補0
  • 先根據(jù)個位進行穩(wěn)定的排序算法
  • 依次到高位進行穩(wěn)定的排序算法
  • 當(dāng)只有一位數(shù)時為計數(shù)排序

2.基于插入的排序排序

  1. 插入
  2. 希爾
    簡介:
    增量序列,如[len/2,len/4,……1]
    當(dāng)序列為len/2時,假如有10個元素吭敢,那么共分為5個組(第1個元素和第6個元素是一組碰凶,第2個元素和第7個元素是一組……)將每個組進行插入排序;下一次增量變小鹿驼,每個組內(nèi)元素變多欲低,再進行插入排序,直到增量為1畜晰,進行一次所有元素的插入排序砾莱。復(fù)雜度為O(n^1.3)------O(n^2)
    應(yīng)用:

5.基于選擇的排序

  1. 簡單選擇排序
  2. 桶排序

4.基于交換的排序

  1. 快排
  2. 冒泡

5.基于歸并的排序

  1. 二路歸并
  2. 多路歸并

6. 應(yīng)用場景

(1)若n較小(如n≤50),可采用直接插入或直接選擇排序凄鼻。
 當(dāng)記錄規(guī)模較小時腊瑟,直接插入排序較好;否則因為直接選擇移動的記錄數(shù)少于直接插人块蚌,應(yīng)選直接選擇排序為宜闰非。
(2)若文件初始狀態(tài)基本有序(指正序),則應(yīng)選用直接插人峭范、冒泡或隨機的快速排序為宜财松;
(3)若n較大,則應(yīng)采用時間復(fù)雜度為O(nlgn)的排序方法:快速排序纱控、堆排序或歸并排序辆毡。
 快速排序是目前基于比較的內(nèi)部排序中被認(rèn)為是最好的方法,當(dāng)待排序的關(guān)鍵字是隨機分布時甜害,快速排序的平均時間最短舶掖;
 堆排序所需的輔助空間少于快速排序,并且不會出現(xiàn)快速排序可能出現(xiàn)的最壞情況唾那。這兩種排序都是不穩(wěn)定的访锻。
 若要求排序穩(wěn)定褪尝,則可選用歸并排序。但前面介紹的從單個記錄起進行兩兩歸并的排序算法并不值得提倡期犬,通澈友疲可以將它和直接插入排序結(jié)合在一起使用。先利用直接插入排序求得較長的有序子序列龟虎,然后再兩兩歸并之璃谨。因為直接插入排序是穩(wěn)定 的,所以改進后的歸并排序仍是穩(wěn)定的鲤妥。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末佳吞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子棉安,更是在濱河造成了極大的恐慌底扳,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贡耽,死亡現(xiàn)場離奇詭異衷模,居然都是意外死亡,警方通過查閱死者的電腦和手機蒲赂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門阱冶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滥嘴,你說我怎么就攤上這事木蹬。” “怎么了若皱?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵镊叁,是天一觀的道長。 經(jīng)常有香客問我走触,道長意系,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任饺汹,我火速辦了婚禮蛔添,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兜辞。我一直安慰自己迎瞧,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布逸吵。 她就那樣靜靜地躺著凶硅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扫皱。 梳的紋絲不亂的頭發(fā)上足绅,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天捷绑,我揣著相機與錄音,去河邊找鬼氢妈。 笑死粹污,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的首量。 我是一名探鬼主播壮吩,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼加缘!你這毒婦竟也來了鸭叙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤拣宏,失蹤者是張志新(化名)和其女友劉穎沈贝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勋乾,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡缀程,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了市俊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡滤奈,死狀恐怖摆昧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蜒程,我是刑警寧澤绅你,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站昭躺,受9級特大地震影響忌锯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜领炫,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一偶垮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧帝洪,春花似錦似舵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至砰奕,卻和暖如春蛛芥,著一層夾襖步出監(jiān)牢的瞬間提鸟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工仅淑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留称勋,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓漓糙,卻偏偏與公主長得像铣缠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子昆禽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容