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

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://www.2m8n56k.cn/article40/jcgeeo.html

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

廣告

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

成都做網站
主站蜘蛛池模板: 黑人一级片 | 国产成年人视频 | 国产成人一区二区三区视频免费 | 久久精品国产屋 | 欧美最刺激好看的一级毛片 | 欧美三级色 | 成年人在线视频网站 | 免费看欧美毛片大片免费看 | 成人做爰全过程免费看网站 | 亚洲精品视频在线看 | 在线播放免费播放av片 | 亚洲欧美二区三区久本道 | 中文字幕亚洲精品第一区 | 成人高清无遮挡免费视频软件 | 国产a级精品特黄毛片 | 久草综合视频在线 | 欧美精品一级毛片 | 精品亚洲综合久久中文字幕 | 国产精品国产精品国产三级普 | 91久久亚洲国产成人精品性色 | 天堂8中文在线最新版在线 天堂8资源8在线 | 日本黄色美女网站 | 久久生活片 | 亚洲女人被黑人猛躁进女人 | www.久草.com | 欧美一级片免费看 | 91看片淫黄大片.在线天堂 | 69成人做爰视频在线观看 | 国产欧美一区二区精品性色 | 亚洲成a人片在线观看中 | 欧美一区二区aa大片 | 亚洲欧美专区精品久久 | 性刺激久久久久久久久 | 日本精品一区二区三区在线视频 | 农村寡妇一级毛片免费播放 | 久久精品国产亚洲aa | 久久手机在线视频 | 色精品一区二区三区 | 在线观看国产精品入口 | 国产成人综合日韩精品婷婷九月 | 亚欧在线 |