<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        經典算法:基數排序的小例子

        來源:懂視網 責編:小采 時間:2020-11-27 22:41:37
        文檔

        經典算法:基數排序的小例子

        經典算法:基數排序的小例子:1.概述 基數排序(Radix sort)是一種非比較型整數排序算法,其原理是將整數按位數切割成不同的數字,然后按每個位數分別比較。由于整數也可以表達字符串(比如名字或日期)和特定格式的浮點數,所以基數排序也不是只能使用于整數。基數排序的發明可以追溯到1
        推薦度:
        導讀經典算法:基數排序的小例子:1.概述 基數排序(Radix sort)是一種非比較型整數排序算法,其原理是將整數按位數切割成不同的數字,然后按每個位數分別比較。由于整數也可以表達字符串(比如名字或日期)和特定格式的浮點數,所以基數排序也不是只能使用于整數。基數排序的發明可以追溯到1

        1.概述

        基數排序(Radix sort)是一種非比較型整數排序算法,其原理是將整數按位數切割成不同的數字,然后按每個位數分別比較。由于整數也可以表達字符串(比如名字或日期)和特定格式的浮點數,所以基數排序也不是只能使用于整數。基數排序的發明可以追溯到1887年赫爾曼·何樂禮在打孔卡片制表機(Tabulation Machine)上的貢獻。

        原理:將所有待比較數值(正整數)統一為同樣的數位長度,數位較短的數前面補零。然后,從最低位開始,依次進行一次排序。這樣從最低位排序一直到最高位排序完成以后, 數列就變成一個有序序列。基數排序的時間復雜度是 O(k·n),其中n是排序元素個數,k是數字位數。

        理解:類似【經典算法】第八回:桶排序,這里總是需要10個桶,多次使用,首先以個位數的值進行裝桶,即個位數為1則放入1號桶,為9則放入9號桶,然后再以十位數進行桶排序,依此類推。

        如有 待排序數組[62,14,59,88,16]簡單點五個數字,分配10個桶,桶編號為0-9,以個位數數字為桶編號依次入桶,變成下邊這樣

        |  0  |  0  | 62 |  0  | 14 |  0  | 16 |  0  |  88 | 59 |

        |  0  |  1  |  2  |  3  |  4 |  5  |  6  |  7  |  8  |  9  |桶編號

        將桶里的數字順序取出來,輸出結果:[62,14,16,88,59]

        再次入桶,不過這次以十位數的數字為準,進入相應的桶,變成下邊這樣:由于前邊做了個位數的排序,所以當十位數相等時,個位數字是由小到大的順序入桶的,就是說,入完桶還是有序

        |  0  | 14,16 |  0  |  0  |  0  | 59 | 62  | 0  | 88  |  0  |

        |  0  |  1      |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |桶編號

        因為沒有大過100的數字,沒有百位數,所以到這排序完畢,順序取出即可

        最后輸出結果:[14,16,59,62,88]

        2.示例
        代碼如下:
        //基數排序 C# Code
                public static void RadixSort(int[] nums, int digit)
                {
                    for (int k = 1; k <= digit; k++)
                    {
                        int[] tmpArray = new int[nums.Length];
                        int[] tmpCountingSortArray = new int[10];
                        int i;

                        for (i = 0; i < nums.Length; i++)
                        {
                            int tmpSplitDigit = nums[i] / (int)Math.Pow(10, k - 1) - (nums[i] / (int)Math.Pow(10, k)) * 10;
                            tmpCountingSortArray[tmpSplitDigit]++;
                        }
                        for (i = 1; i < tmpCountingSortArray.Length; i++)
                        {
                            tmpCountingSortArray[i] += tmpCountingSortArray[i - 1];
                        }
                        for (i = nums.Length - 1; i >= 0; i--)
                        {
                            int tmpSplitDigit = nums[i] / (int)Math.Pow(10, k - 1) - (nums[i] / (int)Math.Pow(10, k)) * 10;
                            tmpArray[tmpCountingSortArray[tmpSplitDigit] - 1] = nums[i];
                            tmpCountingSortArray[tmpSplitDigit]--;
                        }
                        for (i = 0; i < nums.Length; i++)
                        {
                            nums[i] = tmpArray[i];
                        }
                    }
                }
                    //int[] list = new[] { 16, 14, 10, 8, 7, 9, 3, 2, 4, 1 };
                    //Sorter.RadixSort(list, 2);

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        經典算法:基數排序的小例子

        經典算法:基數排序的小例子:1.概述 基數排序(Radix sort)是一種非比較型整數排序算法,其原理是將整數按位數切割成不同的數字,然后按每個位數分別比較。由于整數也可以表達字符串(比如名字或日期)和特定格式的浮點數,所以基數排序也不是只能使用于整數。基數排序的發明可以追溯到1
        推薦度:
        標簽: 例子 排序 排序的
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: av无码国产在线看免费网站| 精品久久久久久无码免费| 久久免费的精品国产V∧| 亚洲免费观看视频| 污视频在线观看免费| 久久精品国产亚洲综合色| 中文字幕在线视频免费观看| 国产亚洲精品观看91在线| 18禁超污无遮挡无码免费网站| 免费无码作爱视频| 亚洲AV无一区二区三区久久| 成人电影在线免费观看| 成人永久福利免费观看| 边摸边吃奶边做爽免费视频99| 99久久久国产精品免费牛牛| 国产色爽免费视频| 无忧传媒视频免费观看入口| 男女做羞羞的事视频免费观看无遮挡| 久久狠狠躁免费观看| 四虎永久免费地址在线观看| 亚洲人妖女同在线播放| 免费看的成人yellow视频| 一区免费在线观看| 亚洲欧洲日产国码av系列天堂 | 18禁网站免费无遮挡无码中文| 久久久无码精品亚洲日韩软件| 亚洲国产欧洲综合997久久| 免费观看日本污污ww网站一区| 亚洲人成人网毛片在线播放| 国产美女无遮挡免费网站| 在线免费播放一级毛片| 亚洲一区二区三区在线| 四虎精品亚洲一区二区三区| 精品久久久久久久久亚洲偷窥女厕| 免费看韩国黄a片在线观看| 亚洲理论精品午夜电影| 国产在线不卡免费播放| 日韩精品极品视频在线观看免费| 亚洲人色婷婷成人网站在线观看| 亚洲伊人色欲综合网| 黄网站色在线视频免费观看|