算法筆記:根據(jù)年齡給100萬(wàn)用戶排序

時(shí)間復(fù)雜度是線性的,這類排序算法叫做線性排序。
三個(gè)算法是 基于比較的排序算法,不設(shè)計(jì)元素之間的比較操作,所以能做到線性的時(shí)間復(fù)雜度。

桶排序

核心思想是將要排序的數(shù)據(jù)分到幾個(gè)有序的桶內(nèi),每個(gè)桶內(nèi)的數(shù)據(jù)進(jìn)行單獨(dú)排序,拍好之后把桶內(nèi)的數(shù)據(jù)取出來(lái),組成的序列就是有序的。時(shí)間復(fù)雜度是O(n).桶內(nèi)部采用的是快速排序手段


摘自極客時(shí)間

首先桶排序要把數(shù)據(jù)進(jìn)行劃分到m個(gè)桶內(nèi),希望的是桶內(nèi)數(shù)據(jù)是均勻的,并且桶與桶之間有著天然的大小順序。
極端情況下時(shí)間復(fù)雜度會(huì)退化為O(nlog n);
比較適合外部排序。
在進(jìn)行劃分桶數(shù)據(jù)的時(shí)候,可能存在桶數(shù)據(jù)不均勻的情況,可以選擇在多的數(shù)據(jù)桶進(jìn)行繼續(xù)劃分桶,直到桶數(shù)據(jù)可以加載到內(nèi)存中為止。

計(jì)數(shù)排序

桶排序的一種特殊情況。范圍不是很大。最大值是K直接化為K個(gè)桶。桶內(nèi)數(shù)值是相等的。
計(jì)數(shù)排序的原則

  • 把一系列的數(shù)字統(tǒng)計(jì)個(gè)數(shù)放在數(shù)組內(nèi)A。
  • 依次累加,統(tǒng)計(jì)結(jié)果還是在同一個(gè)數(shù)組中存放A。
  • 臨時(shí)數(shù)組C存放排序后的結(jié)果。
  • 遍歷最初時(shí)的數(shù)據(jù)B,從A中找到該值。
  • A數(shù)組中的值-1就是數(shù)據(jù)B在臨時(shí)數(shù)組C存放的位置。
  • 把A數(shù)組中的值減1.
  • 循環(huán)這個(gè)過(guò)程


    摘自極客時(shí)間

該計(jì)數(shù)規(guī)則只適合 數(shù)據(jù)范圍不大的情景

基數(shù)排序

基數(shù)排序要對(duì)排序的數(shù)據(jù)有要求,分割獨(dú)立的位出來(lái)比較。
從高位開始進(jìn)行比較,高位相同,比較低位。數(shù)據(jù)范圍不能太大。
需要借助桶排序,或者計(jì)數(shù)排序完成每一個(gè)位的排序工作。

實(shí)戰(zhàn)問(wèn)題

100萬(wàn)用戶排序,根據(jù)桶算法,根據(jù)用戶年齡分桶,比如1-120 。那么分為120個(gè)桶。
遍歷元素,放入到桶中既可以得到有序的好的數(shù)據(jù)。
桶中用快排的方式進(jìn)行排序。

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

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

  • 概述:排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,828評(píng)論 0 15
  • 數(shù)據(jù)結(jié)構(gòu)與算法——計(jì)數(shù)排序、桶排序、基數(shù)排序 計(jì)數(shù)排序 計(jì)數(shù)排序有如下四個(gè)步驟。 首先會(huì)對(duì)每個(gè)輸入進(jìn)行頻率統(tǒng)計(jì),得...
    sunhaiyu閱讀 1,243評(píng)論 0 11
  • 回老家 (修改稿1) 暑假里,媽媽因?yàn)橛惺乱k,所以要回老家,答應(yīng)帶我一起回去...
    孫雨婷閱讀 161評(píng)論 0 0
  • 第一點(diǎn)要向外走向外闖,不能困在原地困在原地是等死。 第二點(diǎn)經(jīng)歷才重要,要親身經(jīng)歷。經(jīng)歷過(guò)的才是真實(shí)的。 第三點(diǎn),要...
    Hushering閱讀 217評(píng)論 0 0
  • 把酒盈懷送客嘗,浮云南浦踏秋霜。 蕭木從從隨鳥落,幽曲依舊斷人腸。 片帆只影江天沒,涼雨黃花素重陽(yáng)。 他方明月離人...
    d03e056874dc閱讀 439評(píng)論 0 0

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