成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

拜托,面試別再問我計數排序了!?。?/h1>

開發 開發工具
時間復雜度為O(n)的排序,除了基數排序(Radix Sort),還有計數排序(Counting Sort)。今天,1分鐘,通過幾幅圖,爭取讓大家搞懂計數排序。

排序,面試中,問的比較多。

時間復雜度為O(n)的排序,除了基數排序(Radix Sort),還有計數排序(Counting Sort)。今天,1分鐘,通過幾幅圖,爭取讓大家搞懂計數排序。

[[247748]]

計數排序的適用范圍?

待排序的元素在某一個范圍[MIN, MAX]之間。

畫外音:很多業務場景是符合這一場景,例如uint32的數字排序位于[0, 2^32]之間。

計數排序的空間復雜度?

計數排序需要一個輔助空間,空間大小為O(MAX-MIN),用來存儲所有元素出現次數(“計數”)。

畫外音:計數排序的核心是,空間換時間。

計數排序的關鍵步驟?

  • 步驟一:掃描待排序數據arr[N],使用計數數組counting[MAX-MIN],對每一個arr[N]中出現的元素進行計數;
  • 步驟二:掃描計數數組counting[],還原arr[N],排序結束;

舉個栗子:

假設待排序的數組,

  1. arr={5, 3, 7, 1, 8, 2, 9, 4, 7, 2, 6, 6, 2, 6, 6} 

很容易發現,待排序的元素在[0, 10]之間,可以用counting[0,10]來存儲計數。

***步:統計計數

掃描未排序的數組arr[N],對每一個出現的元素進行計數。

掃描完畢后,計數數組counting[0, 10]會變成上圖中的樣子,如粉色示意,6這個元素在arr[N]中出現了4次,在counting[0, 10]中,下標為6的位置計數是4。

第二步:還原數組

掃描計數數組counting[0, 10],通過每個元素的計數,還原arr[N]。

如上圖粉色示意,count[0, 10]下標為6的位置計數是4,排完序是4個連續的6。

從counting下標MIN到MAX,逐個還原,填滿arr[N]時,排序結束。

神奇不神奇!!!

計數排序(Counting Sort),總結:

  • 計數排序,時間復雜度為O(n);
  • 當待排序元素個數很多,但值域范圍很窄時,計數排序是很節省空間的;

希望這一分鐘,大家有收獲。

【本文為51CTO專欄作者“58沈劍”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2018-11-01 13:49:23

桶排序排序面試

2018-09-28 05:25:53

TopK算法代碼

2020-04-22 11:19:07

貪心算法動態規劃

2018-11-06 11:40:19

時間復雜度面試算法

2021-01-22 10:09:23

簡歷求職者面試

2020-03-30 17:20:54

B+樹SQL索引

2019-04-16 13:30:05

表達式求值數據結構算法

2019-01-08 15:11:50

最大值最小值算法

2020-04-16 08:22:11

HTTPS加解密協議

2020-09-02 08:04:59

多線程互聯網高并發

2022-03-14 10:14:43

底層系統Nacos

2020-12-11 09:24:19

Elasticsear存儲數據

2018-11-09 09:34:05

面試Spring Clou底層

2020-09-24 14:40:55

Python 開發編程語言

2015-02-13 10:42:31

前端工具Dreamweaver

2019-07-10 10:06:24

面試官三次握手四次揮手

2019-08-29 09:49:50

2019-12-17 09:29:02

數據庫架構分庫分表

2020-08-26 08:18:39

數據索引查詢

2019-03-12 14:48:29

路由器XBOXPS4
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一本一道久久a久久精品蜜桃 | 国产欧美在线一区 | 成人在线观看中文字幕 | 综合精品久久久 | 久久久久国色av免费观看性色 | 蜜桃精品在线 | 亚洲精品在线视频 | 一区影院| 欧美精品久久久久 | 久久99精品国产自在现线小黄鸭 | 一区二区三区在线 | 欧 | 99久久99久久精品国产片果冰 | 日韩中文字幕一区二区 | 在线国产一区二区 | 久久精品小视频 | 国产一区二区三区四区 | 99精品欧美一区二区三区 | 国产玖玖| 天天操天天插天天干 | 欧美99 | 天天看天天爽 | 日本精品免费在线观看 | 日韩午夜网站 | 亚洲男人天堂2024 | 人成在线视频 | 日韩a视频 | 国产精品69毛片高清亚洲 | 国产精品久久久久久久久久久久久 | 九九热这里只有精品在线观看 | 久久99精品国产自在现线小黄鸭 | 国产成人精品一区二区在线 | 亚洲精品www | 欧美成人精品一区二区三区 | 欧美在线a| 女人一区 | 九九热最新地址 | 老司机狠狠爱 | 成人精品一区二区 | 欧美日韩亚洲国产 | 日韩视频一区二区 | 一区二区三区四区在线视频 |