中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

jdk中如何實現計數排序

這篇文章將為大家詳細講解有關jdk中如何實現計數排序,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創新互聯公司專注于石鼓企業網站建設,響應式網站建設,商城網站定制開發。石鼓網站建設公司,為石鼓等地區提供建站服務。全流程按需開發,專業設計,全程項目跟蹤,成都創新互聯公司專業和態度為您提供的服務

        計數排序是一個非基于比較的排序算法,它的優勢在于在對一定范圍內的整數排序時,它的復雜度為Ο(n+k)(其中k是整數的范圍),快于任何比較排序算法。我們估計要有疑問了,這個排序算法這么快,為什么還存在其他的排序算法呢,這就需要要我們綜合時間復雜度和空間復雜度那個最優了。

        Java底層對不同的數據實現了各種各樣的排序算法,而對于計數排序只有在比較byte類型的數字才有效,也就是說數字最大也就是256.Java底層對這個算法實現的相當精巧,基本實現過程如下:(詳情可以打開jdk java.util.Arrays.sort(byte[]))。

1:初始化一個計數數組,大小是輸入數組中的最大的數。

2:遍歷輸入數組,遇到一個數就在計數數組對應的位置上加一。例如:遇到7,就將計數數組第七個位置的數加一。

3:把計數數組直接覆蓋到輸出數組(節約空間)。

源碼如下:

jdk中如何實現計數排序

在jdk中這段代碼還是存在優化的空間,我完全可以把初始化數組變得更小,更節省內存,即用多少初始化多少, 舉個例子:

比如說我輸入了一個數組{4, 1, 4, 2, 3},初始化數組大小為4即可,(按照算法導論中對計數排序的理論,即:計數數組的大小為排序數組中數字最大的數)

建立計數數組{0, 0, 0, 0}。

遍歷輸入數組:

{3, 4, 3, 2, 1} -> {0, 0, 1, 0}

{3, 4, 3, 2, 1} -> {0, 0, 1, 1}

{3, 4, 3, 2, 1} -> {0, 0, 2, 1}

{3, 4, 3, 2, 1} -> {0, 1, 2, 1}

{3, 4, 3, 2, 1} -> {1, 1, 2, 1}

計數數組現在是{1, 1, 2, 1},我們現在把它寫回到輸入數組里:

{0, 1, 2, 1} -> {1, 4, 3, 2, 1}

{0, 0, 2, 1} -> {1, 2, 3, 2, 1}

{0, 0, 1, 1} -> {1, 2, 3, 2, 1}

{0, 0, 0, 1} -> {1, 2, 3, 3, 1}

{0, 0, 0, 0} -> {1, 2, 3, 3, 4}

這樣就排好序了。

時間:O(n + k),n是輸入數組長度,k是最大的數的大小。

空間:O(n + k),n是輸入數組長度,k是最大的數的大小。

關于“jdk中如何實現計數排序”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

新聞名稱:jdk中如何實現計數排序
網站地址:http://m.2m8n56k.cn/article40/jcgeeo.html

成都網站建設公司_創新互聯,為您提供品牌網站設計小程序開發標簽優化網站收錄域名注冊網站排名

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 久久九九久精品国产 | 女人张开腿让男人操 | 亚洲爱视频 | 精品欧美一区二区在线观看 | 在线91精品国产免费 | 亚洲高清在线观看 | 在线观看视频中文字幕 | 刺激免费视频 | 国产自产v一区二区三区c | 91精品国产高清久久久久久91 | 国产在线高清不卡免费播放 | 国产男女在线观看 | 日韩欧美成末人一区二区三区 | 高清一级淫片a级中文字幕 高清一区二区 | 亚洲国产精品免费观看 | 欧美另类69xxxxx极品 | 精品国产一区二区三区www | 欧美一级毛片免费大全 | 91精品国产91久久久久久 | 边接电话边做国语高清对白 | 久久女同互慰一区二区三区 | 日韩久久免费视频 | 欧美激情久久久久久久大片 | 久久91这里精品国产2020 | 亚色网站 | 精品国产一区二区三区在线观看 | 国产一区二区三区高清 | 国产成人aaa在线视频免费观看 | 中文字幕一区二区三区免费视频 | 国产欧美日韩不卡在线播放在线 | 有码一区| 欧美在线一区二区三区不卡 | 久草在线视频看看 | 欧美日韩综合精品一区二区三区 | 国产一区二区免费播放 | 夜色福利久久久久久777777 | 亚洲欧美一区二区三区综合 | 日本免费一区二区三区看片 | 亚洲日本aⅴ片在线观看香蕉 | 中美日韩在线网免费毛片视频 | 亚洲成人中文字幕 |