這篇文章主要介紹java中基數(shù)排序是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
站在用戶的角度思考問題,與客戶深入溝通,找到大峪網(wǎng)站設計與大峪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋大峪地區(qū)。
基數(shù)排序 (Radix Sort) 是一種非比較型整數(shù)排序算法,其原理是將整數(shù)按位數(shù)切割成不同的數(shù)字,然后按每個位數(shù)分別比較。基數(shù)排序的發(fā)明可以追溯到 1887 年赫爾曼·何樂禮在打孔卡片制表機 (Tabulation Machine)上的貢獻。
基數(shù)排序法會使用到桶 (Bucket),顧名思義,通過將要比較的位(個位、十位、百位…),將要排序的元素分配至 0~9 個桶中,借以達到排序的作用,在某些時候,基數(shù)排序法的效率高于其它的比較性排序法。
將所有待比較數(shù)值(正整數(shù))統(tǒng)一為同樣的數(shù)位長度,數(shù)位較短的數(shù)前面補零
從最低位開始,依次進行一次排序
從最低位排序一直到最高位排序完成以后, 數(shù)列就變成一個有序序列
動畫演示GIF加載有點慢,請稍等片刻^_^
基數(shù)排序的方式可以采用 LSD (Least sgnificant digital) 或 MSD (Most sgnificant digital)
在本例中使用的是 LSD
首先創(chuàng)建編號 0 , 1 ,2 ,3 ,4 ,5 , 6 ,7 ,8 ,9 這 10 個桶
遍歷整個數(shù)列,查看數(shù)字的個位數(shù),按照先后順序存放在對應編號的桶中
比如 321 個位數(shù) 為 1 ,存放在編號 1 桶中
數(shù)字 1 個位數(shù) 為 1 ,存放在編號 1 桶中,同時存放在 321 上面
遍歷完整個數(shù)列的個位數(shù),將數(shù)字存放在桶中后,按照編號順序取出數(shù)字,先放入桶中的數(shù)字先取出
然后依次遍歷整個數(shù)列的十位數(shù),按照上述個位數(shù)的操作整理數(shù)列
依次遍歷整個數(shù)列的百位數(shù),按照上述個位數(shù)的操作整理數(shù)列
這樣就完成了 基數(shù)排序
為了更好的讓讀者用自己熟悉的編程語言來理解動畫,筆者將貼出多種編程語言的參考代碼,代碼全部來源于網(wǎng)上。
以上是“java中基數(shù)排序是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站欄目:java中基數(shù)排序是什么
瀏覽地址:http://vcdvsql.cn/article10/jhehgo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、微信小程序、響應式網(wǎng)站、網(wǎng)站排名、域名注冊、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)