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

這個排序這么酷,為什么知道的人很少?

開發 開發工具
有一種很神奇的排序,基數排序(Radix Sort),時間復雜度為O(n),今天花1分鐘,通過幾幅圖,爭取讓大家搞懂細節。

有一種很神奇的排序,基數排序(Radix Sort),時間復雜度為O(n),今天花1分鐘,通過幾幅圖,爭取讓大家搞懂細節。

畫外音:居然還有時間復雜度為O(n)的排序算法?

不但有,其實還有很多。 舉個栗子:

假設待排序的數組arr={72, 11, 82, 32, 44, 13, 17, 95, 54, 28, 79, 56}

基數排序的兩個關鍵要點:

(1)基:被排序的元素的“個位”“十位”“百位”,暫且叫“基”,栗子中“基”的個數是2(個位和十位);畫外音:來自野史,大神可幫忙修正。

(2)桶:“基”的每一位,都有一個取值范圍,栗子中“基”的取值范圍是0-9共10種,所以需要10個桶(bucket),來存放被排序的元素;

基數排序的算法步驟為:

  1. FOR (每一個基) { 
  2. //循環內,以某一個“基”為依據 
  3. 第一步:遍歷數據集arr,將元素放入對應的桶bucket 
  4. 第二步:遍歷桶bucket,將元素放回數據集arr 

更具體的,對應到上面的栗子,“基”有個位和十位,所以,FOR循環會執行兩次。

第一次:以“個位”為依據。

畫外音:上圖中標紅的部分,個位為“基”。

第一步:遍歷數據集arr,將元素放入對應的桶bucket;

操作完成之后,各個桶會變成上面這個樣子,即:個位數相同的元素,會在同一個桶里。

第二步:遍歷桶bucket,將元素放回數據集arr;

畫外音:需要注意,先入桶的元素要先出桶。

操作完成之后,數據集會變成上面這個樣子,即:整體按照個位數排序了。

畫外音:個位數小的在前面,個位數大的在后面。

第二次:以“十位”為依據。

畫外音:上圖中標紅的部分,十位為“基”。

第一步:依然遍歷數據集arr,將元素放入對應的桶bucket;

操作完成之后,各個桶會變成上面這個樣子,即:十位數相同的元素,會在同一個桶里。

第二步:依然遍歷桶bucket,將元素放回數據集arr;

操作完成之后,數據集會變成上面這個樣子,即:整體按照十位數也排序了。

畫外音:十位數小的在前面,十位數大的在后面。

首次按照個位從小到大,第二次按照十位從小到大,即:排序結束。

神奇不神奇!!!

幾個小點:

(1)基的選取,可以先從個位開始,也可以先從十位開始,結果是一樣的;

(2)基數排序,是一種穩定的排序;

(3)時間復雜度,可以認為是線性的O(n); 希望這一分鐘,大家有收獲。

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

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

 

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

2020-08-13 09:19:10

Kafka存儲MQ

2018-10-28 15:40:23

Python編程語言

2023-11-02 10:22:29

gRPC后端通信

2023-04-26 07:06:56

CPU主板半導體器件

2024-01-02 10:38:22

Go語言數組

2024-12-02 12:34:06

2021-10-08 15:52:19

電腦蘋果Windows

2020-02-27 21:03:30

調度器架構效率

2022-06-13 21:52:02

CDN網絡節點

2018-08-16 08:03:21

Python語言解釋器

2019-08-30 14:58:47

JavaScript程序員編程語言

2024-02-26 21:15:20

Kafka緩存參數

2013-03-04 10:10:36

WebKit瀏覽器

2022-06-02 08:03:19

PyCharmPython代碼

2020-02-27 15:44:41

Nginx服務器反向代理

2017-08-31 16:22:22

2017-01-23 13:08:46

大數據客戶畫像技術

2024-01-10 17:04:13

通信模塊通信技術通信模組

2020-09-27 08:12:09

Nginx反向代理負載均衡

2020-11-10 22:53:54

oracle數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品福利 | 色综合天天天天做夜夜夜夜做 | 亚洲视频一 | 欧美一区二区三区精品免费 | 久草青青草 | 欧美日韩专区 | 久久r精品 | 精精国产xxxx视频在线 | 日韩欧美在线观看 | 亚洲午夜精品一区二区三区 | 日韩av一区二区在线观看 | 精品国产黄色片 | 成人免费一级视频 | 亚洲狠狠爱一区二区三区 | av一区二区三区 | 国产成人叼嘿视频在线观看 | 国产精品福利视频 | 国产成人自拍av | 国产精品免费视频一区 | 亚洲免费观看 | 午夜激情视频在线 | 黄色大片在线播放 | 中文成人在线 | 欧美日韩一区二区在线 | 日韩精品在线一区二区 | 亚洲毛片在线观看 | 男人的天堂久久 | 黄色亚洲 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 一级片在线视频 | 国产精品日韩一区 | 日韩欧美三区 | 91精品久久久 | 日韩激情免费 | 在线午夜| 国产成人精品一区二区三区四区 | 中文字幕在线精品 | 91精品国产一区二区在线观看 | 亚洲午夜精品久久久久久app | 亚洲三区在线观看 | 国产视频2021 |