青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

面對現實,超越自己
逆水行舟,不進則退
posts - 269,comments - 32,trackbacks - 0

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

它是這樣實現的:將所有待比較數值(正整數)統一為同樣的數位長度,數位較短的數前面補零。然后,從最低位開始,依次進行一次排序。這樣從最低位排序一直到最高位排序完成以后, 數列就變成一個有序序列。

基數排序時對每一維進行調用子排序算法時要求這個子排序算法必須是穩定的。
基數排序與直覺相反:它是按照從底位到高位的順序排序的。

偽代碼:

RADIX-SORT(A,d)

1    for i <-- 1 to d

2        do use a stable sort to sort array A on digit i

 

引理8.3: 給定n個d位數,每一個數位可以取k種可能的值,如果所用穩定排序需要Θ(n+k)時間,基數排序能以Θ(d(n+k))的時間完成。

證明:如果采用計數排序這種穩定排序,那么每一遍處理需要時間Θ(n+k),一共需處理d遍,于是基數排序的運行時間為Θ(d(n+k))。當d為常數,k=O(n)時,有線性運行時間。

注:將關鍵字分成若干位方面,可以有一定的靈活性。

引理8.4給定n個b位數和任何正整數r<=b,如果采用的穩定排序需要Θ(d(n+k))時間,則RADIX-SORT能在Θ((b/r)(n+2r))時間內正確地對這些數進行排序。

證明:對于一個r<=b,將每個關鍵字看成由d=b/r位組成的數,每一個數字都是(0~ -1)之間的一個整數,這樣就可以采取計數排序。K= ,d=b/r,總的運行時間為Θ((b/r)(n+ ))。

對于給定的n值和b值,如何選擇r值使得最小化表達式(b/r)(n+2r)。如果b< lgn,對于任何r<=b的值,都有(n+2r)=Θ(n),于是選擇r=b,使計數排序的時間為Θ((b/b)(n+2b)) = Θ(n)。 如果b>lgn,則選擇r=lgn,可以給出在某一常數因子內的最佳時間:當r=lgn時,算法復雜度為Θ(bn/lgn),當r增大到lgn以上時,分子 增大比分母r快,于是運行時間復雜度為Ω(bn/lgn);反之當r減小到lgn以下的時候,b/r增大,而n+ 仍然是Θ(n)。

以下引自麻省理工學院算法導論——筆記:












以下代碼實例轉自:http://www.docin.com/p-449224125.html

 1 以下是用C++實現的基數排序代碼:
 2 #include <cstdio>
 3 #include <cstdlib>
 4 // 這個是基數排序用到的計數排序,是穩定的。
 5 // pDigit是基數數組,nMax是基數的上限,pData是待排序的數組, nLen是待排序數組的元素個數
 6 // 必須pDigit和pData的下標相對應的,即pDigit[1]對應pData[1]
 7 int RadixCountingSort(int *pDigit, int nMax,int *pData,int nLen){
 8 // 以下是計數排序
 9 int *pCount = new int[nMax];
10 int *pSorted = new int[nLen];
11 int i,j;
12 for(i=0; i<nMax; ++i)
13 pCount[i] = 0;
14 for(i=0; i<nLen; ++i)
15 ++pCount[pDigit[i]];
16 for(i=1; i<nMax; ++i)
17 pCount[i] += pCount[i-1];
18 for(i=nLen-1; i>=0--i){
19 --pCount[pDigit[i]];
20 pSorted[pCount[pDigit[i]]] = pData[i]; // z這里注意,是把待排序的數組賦值
21 }
22 for(i=0; i<nLen; ++i)
23 pData[i] = pSorted[i];
24 delete [] pCount;
25 delete [] pSorted;
26 return 1;
27 }
28 int RadixSort(int *pData, int nLen){
29 int *pDigit = new int[nLen]; // 申請存放基數(某個位數)的空間
30 int nRadixBase = 1;
31 bool flag = false;
32 while(!flag){
33 flag = true;
34 nRadixBase *= 10;
35 for(int i=0; i<nLen; ++i){
36 pDigit[i] = pData[i]%nRadixBase; // 求出某位上的數當做基數
37 pDigit[i] /= nRadixBase/10;
38 if(pDigit[i] > 0)
39 flag = false;
40 }
41 if(flag)
42 break;
43 RadixCountingSort(pDigit,10,pData,nLen);
44 }
45 delete[] pDigit;
46 return 1;
47 }
48 main()
49 {
50 int nData[10]={43,65,34,5,8,34,23,0,45,34};;
51 RadixSort(nData, 10);
52 printf("經排序后的數列是:\n");
53 for (int i = 0; i < 10++i)
54 printf("%d ", nData[i]);
55 printf("\n");
56 return 0;
57 }

 

posted on 2012-11-13 16:52 王海光 閱讀(719) 評論(0)  編輯 收藏 引用 所屬分類: 算法
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲激情另类| 久久九九国产精品| 久久综合伊人77777麻豆| 99国内精品久久| 麻豆成人在线观看| 欧美性大战xxxxx久久久| 欧美暴力喷水在线| 鲁大师影院一区二区三区| 欧美怡红院视频| 亚洲国产精品成人一区二区| 老巨人导航500精品| 久久久精彩视频| 久久精品最新地址| 久久精品国产亚洲一区二区三区| 午夜精品免费| 亚洲第一精品夜夜躁人人爽| 亚洲高清123| 亚洲六月丁香色婷婷综合久久| 亚洲精品一区在线观看| 亚洲国产精品999| 午夜精品一区二区在线观看| 久久久久久尹人网香蕉| 免费观看久久久4p| 正在播放亚洲一区| 久久综合中文| 国产精品欧美精品| 亚洲国产激情| 香蕉乱码成人久久天堂爱免费| 麻豆成人精品| 午夜在线精品偷拍| 欧美日韩第一区日日骚| 激情综合久久| 亚洲午夜国产成人av电影男同| 久久午夜电影| 一区二区三区视频在线| 久久先锋资源| 日韩网站在线观看| 国产精品久久中文| 久久精品国产99国产精品| 美女精品国产| 亚洲专区一二三| 老鸭窝亚洲一区二区三区| 国产精品女人网站| 一区二区三区国产| 欧美国产视频在线| 久久久999精品| 国产精品三区www17con| 日韩午夜激情电影| 美女视频黄a大片欧美| 午夜精品视频网站| 欧美午夜a级限制福利片| 亚洲国产日韩综合一区| 久久伊伊香蕉| 久久精品国产精品亚洲综合| 国产精品久久久一区二区| 一区二区国产精品| 欧美激情日韩| 久久久精品日韩| 久久精品国产视频| 国产精品无码专区在线观看| 夜夜精品视频| 亚洲三级免费| 免费在线观看成人av| 亚洲大片在线观看| 狂野欧美激情性xxxx欧美| 久久国产精品99精品国产| 国产精品卡一卡二卡三| 亚洲综合电影一区二区三区| 宅男噜噜噜66国产日韩在线观看| 欧美精品一区在线| 亚洲天堂av在线免费观看| 99re热这里只有精品视频| 欧美午夜精品久久久久久浪潮| 在线一区二区三区四区五区| 夜夜嗨av一区二区三区四季av| 欧美日韩国产精品专区| 亚洲无限av看| 午夜精品久久久久99热蜜桃导演| 欧美日韩国产首页| 久久综合中文字幕| 亚洲激情网址| 亚洲美女福利视频网站| 欧美视频免费看| 国产精品久久久久影院亚瑟| 亚洲综合色噜噜狠狠| 亚洲欧美综合网| 国产日韩欧美在线播放| 免费黄网站欧美| 欧美精品在线一区二区| 午夜在线电影亚洲一区| 欧美一区二区三区视频免费播放| 韩国三级电影久久久久久| 亚洲福利视频在线| 欧美无砖砖区免费| 久久一区亚洲| 欧美日韩伊人| 欧美日韩中文在线| 麻豆成人91精品二区三区| 亚洲欧洲视频在线| 99精品欧美一区二区蜜桃免费| 国产精品日韩一区二区三区| 欧美激情91| 国产日产精品一区二区三区四区的观看方式 | 亚洲二区视频| 中日韩美女免费视频网站在线观看| 国产午夜精品视频免费不卡69堂| 欧美高清视频在线播放| 国产精品久久久久久亚洲调教| 国产午夜精品久久| 最新69国产成人精品视频免费| 国产精品久久久久久久久久久久| 免费成人av在线看| 国产欧美日韩精品在线| 亚洲美女黄色片| 亚洲国产天堂久久综合| 亚洲在线视频观看| 日韩视频永久免费| 久久久综合香蕉尹人综合网| 欧美在线1区| 欧美日韩在线播放一区| 亚洲黄色高清| 尤物99国产成人精品视频| 亚洲在线观看视频网站| 亚洲一区二区四区| 欧美日韩成人网| 91久久精品国产91久久性色| 在线精品国精品国产尤物884a| 性色av一区二区三区在线观看| 亚洲欧美日本日韩| 欧美特黄一级大片| 一区二区三区国产盗摄| 日韩网站在线看片你懂的| 你懂的国产精品| 亚洲高清不卡在线| 亚洲日本aⅴ片在线观看香蕉| 美女脱光内衣内裤视频久久影院| 欧美不卡在线视频| 亚洲福利视频三区| 蜜臀99久久精品久久久久久软件| 欧美成人69av| 亚洲国产欧美日韩| 蜜臀久久99精品久久久久久9 | 99视频一区二区三区| 欧美高清在线视频观看不卡| 欧美激情91| 亚洲免费电影在线| 欧美伦理视频网站| 亚洲免费观看高清完整版在线观看| 一区二区三欧美| 国产精品久久久久永久免费观看| 亚洲一区三区电影在线观看| 欧美综合国产| **欧美日韩vr在线| 欧美三级特黄| 亚洲欧美一区二区三区久久 | 欧美日韩国产专区| 99热在这里有精品免费| 亚洲网在线观看| 国产精品热久久久久夜色精品三区| 一区二区三区欧美激情| 欧美亚洲综合在线| 在线成人激情黄色| 欧美国产91| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美在线一区二区| 亚洲国产精品精华液2区45| 欧美成人亚洲成人日韩成人| 99视频一区| 欧美一区二区三区的| 韩国欧美国产1区| 欧美精品系列| 亚洲欧美日韩一区二区三区在线观看 | 久久综合亚州| 亚洲精品四区| 久久精品观看| 99在线观看免费视频精品观看| 国产精品五月天| 另类亚洲自拍| 亚洲一区二区在线看| 你懂的国产精品永久在线| 在线视频精品一区| 国内外成人在线视频| 欧美日韩三区| 久久亚洲精品网站| 亚洲婷婷综合色高清在线| 欧美成人精品1314www| 亚洲女性裸体视频| 91久久精品网| 国产自产女人91一区在线观看| 欧美日韩亚洲高清| 另类春色校园亚洲| 亚洲欧美日韩国产精品| 亚洲国产美女精品久久久久∴| 久久精品二区三区| 亚洲资源在线观看| 日韩小视频在线观看专区| 在线观看91精品国产麻豆| 国产麻豆精品theporn| 欧美日韩亚洲国产精品| 免费毛片一区二区三区久久久|