算法筆記:快排算法與歸并排序

快排算法與歸并算法時間復(fù)雜度都是O(nlogn)的排序算法亲族。適合大規(guī)模的數(shù)據(jù)排序种呐。
思想利用的是分治思想狠半。

歸并排序

原理

原理:排序一個數(shù)組噩死,把數(shù)組從中間分為兩部分,然后對前后兩部分進(jìn)行分別排序神年。最后把排序好的兩部分都合并在一起已维,在合并的時候也會進(jìn)行排序。就是排序好的數(shù)據(jù)

摘自極客時間

合并:在合并的過程中會申請一個臨時數(shù)組空間已日,然后把兩個排序號的數(shù)組進(jìn)行取值對比垛耳,哪個小放入到臨時數(shù)組中。
思路:
兩個數(shù)組數(shù)據(jù)在比較大小的時候飘千,可能存在一個數(shù)組中的數(shù)據(jù)有剩余的堂鲜。需要把剩余的數(shù)據(jù)也遷移到臨時數(shù)組中


摘自極客時間

思考借助哨兵的減少代碼的量級。

性能分析

穩(wěn)定算法护奈?

穩(wěn)定算法:值相同的元素不需要移動缔莲。
在歸并算法中,數(shù)據(jù)相等元素在合并之后的算法中先把前半部分的數(shù)據(jù)放到臨時數(shù)組中逆济,這樣保證了值等同的元素酌予,在合并前后順序不變。所以穩(wěn)定算法奖慌。

時間復(fù)雜度

合并兩個子集合操作時間復(fù)雜度是O(N)
推導(dǎo)公式是用

T(n) = 2*T(n/2) + n
        = 2*(2*T(n/4) + n/2 ) + n   = 4*T(n/4)+2*n
        = 4*(2*T(n/8) + n/4) +2*n  = 8*T(n/8)+3*n
        =2^k *T(n/2^k) +k *n 

其中n是執(zhí)行合并需要的時間抛虫。
當(dāng)n/2^k ==1 的時候〖蛏可以計算出k的值建椰。T(n)=Cn+n*log2(n)。大O標(biāo)記法就是O(nlogn)
最好岛马,最壞棉姐,平均都是這個時間復(fù)雜度

空間復(fù)雜度

不是原地排序算法。
原地排序算法需要空間復(fù)雜度是O(1),歸并排序在實現(xiàn)的過程中需要申請臨時空間啦逆。內(nèi)存大小最大為數(shù)據(jù)的長度n伞矩,所以空間復(fù)雜度是O(n)

快排

快排思想:排序數(shù)據(jù)下標(biāo)從a-p,那么選擇從a-p之間的任意數(shù)據(jù)作為pivot分區(qū)點(diǎn)。
遍歷數(shù)據(jù)夏志,將小于分區(qū)點(diǎn)的值放到左邊乃坤,大于分區(qū)點(diǎn)的值放到右邊。

等待java代碼的實現(xiàn)
分區(qū)

交換數(shù)據(jù)
性能分析

也是分區(qū)操作計算公式同歸并算法。時間復(fù)雜度是O(nlogn)湿诊,大會最壞的情況下時間復(fù)雜度會擴(kuò)展到O(n*n)狱杰,
選擇的分區(qū)點(diǎn)最小,導(dǎo)致沒有成功的分區(qū)厅须。

穩(wěn)定算法

數(shù)據(jù)相等的時候不進(jìn)行操作數(shù)據(jù)移動仿畸。所以是穩(wěn)定算法

時間復(fù)雜度

O(nlogn)最壞是O(nlogn)

空間復(fù)雜度

因為是數(shù)據(jù)交換,所以沒有使用到多余的空間朗和。是原地排序算法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末错沽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子例隆,更是在濱河造成了極大的恐慌甥捺,老刑警劉巖抢蚀,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镀层,死亡現(xiàn)場離奇詭異,居然都是意外死亡皿曲,警方通過查閱死者的電腦和手機(jī)唱逢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屋休,“玉大人坞古,你說我怎么就攤上這事〗僬粒” “怎么了痪枫?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叠艳。 經(jīng)常有香客問我奶陈,道長,這世上最難降的妖魔是什么附较? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任吃粒,我火速辦了婚禮,結(jié)果婚禮上拒课,老公的妹妹穿的比我還像新娘徐勃。我一直安慰自己,他們只是感情好早像,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布僻肖。 她就那樣靜靜地躺著,像睡著了一般卢鹦。 火紅的嫁衣襯著肌膚如雪臀脏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機(jī)與錄音谁榜,去河邊找鬼幅聘。 笑死,一個胖子當(dāng)著我的面吹牛窃植,可吹牛的內(nèi)容都是我干的帝蒿。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼巷怜,長吁一口氣:“原來是場噩夢啊……” “哼葛超!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起延塑,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤绣张,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后关带,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侥涵,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年宋雏,在試婚紗的時候發(fā)現(xiàn)自己被綠了芜飘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡磨总,死狀恐怖嗦明,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蚪燕,我是刑警寧澤娶牌,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站馆纳,受9級特大地震影響诗良,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜厕诡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一累榜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灵嫌,春花似錦壹罚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绪穆,卻和暖如春辨泳,著一層夾襖步出監(jiān)牢的瞬間虱岂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工菠红, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留第岖,地道東北人。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓试溯,卻偏偏與公主長得像蔑滓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子遇绞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

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

  • 傍晚游至仙鶴園键袱,餓極一碗牛肉面。 老漢摔鞭似驚雷摹闽,老嫗旋轉(zhuǎn)舞彩帶蹄咖。 廊里垂髫正嬉戲,不顧蚊蟲又滋蔓付鹿。 塘中獨(dú)立白仙...
    木桃_閱讀 399評論 0 3
  • 長假還未結(jié)束澜汤,即投入了公司為期兩天的主管培訓(xùn)學(xué)習(xí)。倘屹。晚上10點(diǎn)多鐘回到家里银亲,洗完澡躺下來就睡著了,這是有多困芭Τ住!不...
    可可簡書閱讀 207評論 0 2
  • 假期在補(bǔ)課班補(bǔ)課拍谐,枯燥乏味烛缔,各種學(xué)不進(jìn)去,甚至整節(jié)課都會玩手機(jī)轩拨,但是践瓷,我看到了她,一個溫婉的女子亡蓉,穿著那撩人的衣服...
    月黑風(fēng)高睡覺夜閱讀 426評論 0 0
  • The thief has found himself a new place for his thievery ...
    mrjunwang閱讀 261評論 0 0