色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基數(shù)排序是怎么排的_基數(shù)排序詳細(xì)過(guò)程

lhl545545 ? 來(lái)源:電子發(fā)燒友網(wǎng) ? 2018-02-05 14:11 ? 次閱讀

計(jì)數(shù)排序

學(xué)習(xí)基數(shù)排序之前首先學(xué)習(xí)計(jì)數(shù)排序。

計(jì)數(shù)排序假設(shè)每個(gè)元素都是在0到k之間的一個(gè)整數(shù)。

基數(shù)排序的基本思想,對(duì)于每個(gè)元素x,如果我們知道了小于x的元素的個(gè)數(shù),就可以確定輸出數(shù)組中元素x的位置,那么直接將元素x放到輸出數(shù)組中。比如有3小于x的元素,那在輸出數(shù)組中,x肯定位于第4個(gè)位置。

計(jì)數(shù)排序的算法用偽代碼描述為:

COUNTING-SORT(A,k)

// 初始化數(shù)組C

for i=0 to k

C[i]=0

// 統(tǒng)計(jì)A[j]元素出現(xiàn)的次數(shù),保存到C數(shù)組中

for j=0 to A.length

C[A[j]]=C[A[j]]+1

// 統(tǒng)計(jì)小于等于A[j]元素的個(gè)數(shù)

for k=0 to k

C[K]=C[K-1]+C[K]

// 將A中的元素放在B中正確的位置

for i=A.length to 0

B[C[A[i]]-1]=A[i]

C[A[i]]=C[A[i]]-1

注:由于有可能有相同元素存在,所以,每次將A[i]元素放入B數(shù)組中,都要將C[A[j]]的值減一,這樣當(dāng)遇到下一個(gè)值等于A[j]的元素時(shí),該元素就能放在輸出數(shù)組中A[j]的前面。

計(jì)數(shù)排序的詳細(xì)過(guò)程如下

基數(shù)排序是怎么排的_基數(shù)排序詳細(xì)過(guò)程

計(jì)數(shù)排序的關(guān)鍵代碼如下

public int[] countSort(int a[], int k) {

int[] b = new int[a.length];

int[] c = new int[k];

for (int i = 0; i

c[i] = 0;

}

for (int i = 0; i

c[a[i]] += 1;

}

for (int i = 0; i

if (i != 0) {

c[i] += c[i - 1];

}

}

for (int i = a.length - 1; i >= 0; i--) {

b[c[a[i]] - 1] = a[i];

c[a[i]] = c[a[i]] - 1;

}

return b;

}

計(jì)數(shù)排序的性能

很容易得到計(jì)數(shù)排序的時(shí)間復(fù)雜度為:T(n)=O(k+n),因此當(dāng)k小于等于n,也就是當(dāng)k=O(n),k和n同階時(shí),采用計(jì)數(shù)排序的時(shí)間復(fù)雜度為T(mén)(n)=O(n)

同時(shí),計(jì)數(shù)排序也是一種穩(wěn)定的排序算法。

基數(shù)排序

基數(shù)排序最初是用在打孔卡片制表機(jī)上的一種排序算法,由Herman Hollerith發(fā)明,也就是IBM的創(chuàng)始人。

基數(shù)排序從最低為開(kāi)始來(lái)排序的,從低位到高位,按位排序,按位排序必須是穩(wěn)定的。

基數(shù)排序的詳細(xì)過(guò)程

基數(shù)排序是怎么排的_基數(shù)排序詳細(xì)過(guò)程

基數(shù)排序算法描述

RADIX-SORT(A,d)

for i=1 to d

use a stable sort to sort arrat A on digit i

在這里我們選擇計(jì)數(shù)排序。考慮常規(guī)情況,對(duì)[0.。.9]之間的數(shù)排序,k=10,且一般有k<

基數(shù)排序的關(guān)鍵代碼,這里以數(shù)組排序時(shí)按照十進(jìn)制每位進(jìn)行比較。

/**

* 基數(shù)排序

* @param result 最終已排序的數(shù)組,共用一個(gè)節(jié)省空間

* @param maxLen 待排序的數(shù)組中最大的位數(shù)

*/

public static void radixSort(int[] a,int[] result, int maxLen) {

int flag = 1;

// 保存每輪要排序的位對(duì)應(yīng)數(shù)組a的值

int [] digitArr = new int[a.length];

for(int i=0; i

// 共比較的輪數(shù)

flag *= 10;

// b數(shù)組中對(duì)應(yīng)的裝著a數(shù)組中每位的數(shù),第一輪裝著各位,第二輪裝著十位數(shù)。。.

for (int j = 0; j < digitArr.length; j++) {

digitArr[j]=a[j]%flag;

digitArr[j]=digitArr[j]/(flag/10);

}

countSort(a, digitArr,result,10);

// 每一輪計(jì)數(shù)排序完后刷新下一輪要排序的數(shù)組

System.arraycopy(result, 0, a, 0,result.length);

}

}

調(diào)用計(jì)數(shù)排序的函數(shù)

/**

* 計(jì)數(shù)排序 :對(duì)數(shù)組a中的元素按某些位排序

* @param tmp 要參與排序的當(dāng)前位的值保存在tmp中

* @param result 每次計(jì)數(shù)排序后的新的數(shù)組順序

*/

public static void countSort(int a[], int tmp[], int result[], int k) {

int[] c = new int[k];

for (int i = 0; i < c.length; i++) {

c[i] = 0;

}

for (int i = 0; i

c[tmp[i]] += 1;

}

for (int i = 0; i < c.length; i++) {

if (i != 0) {

c[i] += c[i - 1];

}

}

for (int i = tmp.length - 1; i >= 0; i--) {

// 和計(jì)數(shù)排序唯一的差別在于賦值的時(shí)候用真實(shí)的數(shù)據(jù)

result[c[tmp[i]] - 1] = a[i];

c[tmp[i]] = c[tmp[i]] - 1;

}

}

基數(shù)排序的性能

如果基數(shù)排序使用的穩(wěn)定排序算法的時(shí)間復(fù)雜度為O(n+k),那么基數(shù)排序的時(shí)間復(fù)雜度為T(mén)(n)=O(d(n+k))

很容易理解要循環(huán)d輪,每輪耗時(shí)為O(n+k),于是總的耗時(shí)為O(d(n+k))

在此基礎(chǔ)上,從2^r進(jìn)制來(lái)看,此時(shí)k為2^r,并且一個(gè)b位數(shù)要比較b/r輪。于是我們得到T(n)=O((b/r)(n+2^r))

對(duì)上式求導(dǎo)可得其最小值。此時(shí)r=lgn,此時(shí)T(n)=O((b/lgn)n),如果再取b=lgn,這時(shí)就能達(dá)到最少的運(yùn)行時(shí)間,時(shí)間復(fù)雜度為T(mén)(n)=O(n)

基數(shù)排序也是穩(wěn)定的排序算法

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在TMS320C62x上實(shí)現(xiàn)的擴(kuò)展精度基數(shù)-4快速傅里葉變換

    電子發(fā)燒友網(wǎng)站提供《在TMS320C62x上實(shí)現(xiàn)的擴(kuò)展精度基數(shù)-4快速傅里葉變換.pdf》資料免費(fèi)下載
    發(fā)表于 10-28 10:03 ?0次下載
    在TMS320C62x上實(shí)現(xiàn)的擴(kuò)展精度<b class='flag-5'>基數(shù)</b>-4快速傅里葉變換

    時(shí)間復(fù)雜度為 O(n^2) 的排序算法

    作者:京東保險(xiǎn) 王奕龍 對(duì)于小規(guī)模數(shù)據(jù),我們可以選用時(shí)間復(fù)雜度為 O(n2) 的排序算法。因?yàn)闀r(shí)間復(fù)雜度并不代表實(shí)際代碼的執(zhí)行時(shí)間,它省去了低階、系數(shù)和常數(shù),僅代表的增長(zhǎng)趨勢(shì),所以在小規(guī)模數(shù)據(jù)情況下
    的頭像 發(fā)表于 10-19 16:31 ?1140次閱讀
    時(shí)間復(fù)雜度為 O(n^2) 的<b class='flag-5'>排序</b>算法

    TPS54120排序和跟蹤

    電子發(fā)燒友網(wǎng)站提供《TPS54120排序和跟蹤.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 10:54 ?0次下載
    TPS54120<b class='flag-5'>排序</b>和跟蹤

    OPSL 優(yōu)勢(shì)4:良好的可靠性 - 龐大的安裝基數(shù)

    光泵半導(dǎo)體激光器 (OPSL) 是一項(xiàng)獨(dú)有的技術(shù),與其他連續(xù) (CW) 固態(tài)激光器相比,它具有良好的可靠性和使用壽命。 加上 OPSL 的其他優(yōu)勢(shì),這種激光器的安裝量接近 100,000 萬(wàn)臺(tái),應(yīng)用于從生命科學(xué)到燈光表演等各種要求嚴(yán)格的領(lǐng)域,這證明了其可靠性。 出色的可見(jiàn)光和紫外光可靠性 在過(guò)去的 50 年中,出現(xiàn)了幾種不同的技術(shù),為連續(xù) (CW) 可見(jiàn)光和紫外光激光器的應(yīng)用提供了支持。 首先是離子激光器,然后是燈泵浦固態(tài)、半導(dǎo)體泵浦固態(tài) (DPSS)、激光半導(dǎo)體
    的頭像 發(fā)表于 07-11 06:37 ?295次閱讀
    OPSL 優(yōu)勢(shì)4:良好的可靠性 - 龐大的安裝<b class='flag-5'>基數(shù)</b>

    手把手教你排序算法怎么寫(xiě)

    今天以直接插入排序算法,給大家分享一下排序算法的實(shí)現(xiàn)思路,主要包含以下部分內(nèi)容:插入排序介紹插入排序算法實(shí)現(xiàn)手把手教你排序算法怎么寫(xiě)在添加新
    的頭像 發(fā)表于 06-04 08:03 ?683次閱讀
    手把手教你<b class='flag-5'>排序</b>算法怎么寫(xiě)

    具有先進(jìn)排序和輸出裕度的中輸入同步降壓控制器TPS40101數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有先進(jìn)排序和輸出裕度的中輸入同步降壓控制器TPS40101數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-22 10:26 ?0次下載
    具有先進(jìn)<b class='flag-5'>排序</b>和輸出裕度的中輸入同步降壓控制器TPS40101數(shù)據(jù)表

    具有先進(jìn)排序和輸出裕度的中輸入同步降壓控制器TPS40100數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有先進(jìn)排序和輸出裕度的中輸入同步降壓控制器TPS40100數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-17 10:59 ?0次下載
    具有先進(jìn)<b class='flag-5'>排序</b>和輸出裕度的中輸入同步降壓控制器TPS40100數(shù)據(jù)表

    3-A、3.3/5V輸入、可調(diào)開(kāi)關(guān)穩(wěn)壓器,具有自動(dòng)跟蹤TM排序功能PTH04000W數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《3-A、3.3/5V輸入、可調(diào)開(kāi)關(guān)穩(wěn)壓器,具有自動(dòng)跟蹤TM排序功能PTH04000W數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 04-17 09:32 ?0次下載
    3-A、3.3/5V輸入、可調(diào)開(kāi)關(guān)穩(wěn)壓器,具有自動(dòng)跟蹤TM<b class='flag-5'>排序</b>功能PTH04000W數(shù)據(jù)表

    Linux的sort命令介紹

    1.命令簡(jiǎn)介以行為單位對(duì)文本文件的內(nèi)容進(jìn)行排序,將結(jié)果顯示在標(biāo)準(zhǔn)輸出,比較原則是從行首字符向后,依次按 ASCII 碼值進(jìn)行比較,最后按升序輸出。如果 file 參數(shù)指定多個(gè)文件,那么 sort
    發(fā)表于 04-08 07:16

    支持 ACPI 的 10 軌電源排序器和監(jiān)視器UCD9090A數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《支持 ACPI 的 10 軌電源排序器和監(jiān)視器UCD9090A數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-29 09:12 ?0次下載
    支持 ACPI 的 10 軌電源<b class='flag-5'>排序</b>器和監(jiān)視器UCD9090A數(shù)據(jù)表

    用FPGA實(shí)現(xiàn)雙調(diào)排序的方法(2)

    典型的排序算法包括冒泡排序、選擇排序、插入排序、歸并排序、快速排序、希爾
    的頭像 發(fā)表于 03-21 10:28 ?633次閱讀
    用FPGA實(shí)現(xiàn)雙調(diào)<b class='flag-5'>排序</b>的方法(2)

    FPGA實(shí)現(xiàn)雙調(diào)排序算法的探索與實(shí)踐

    雙調(diào)排序(BitonicSort)是數(shù)據(jù)獨(dú)立(Data-independent)的排序算法,即比較順序與數(shù)據(jù)無(wú)關(guān),特別適合并行執(zhí)行。在了解雙調(diào)排序算法之前,我們先來(lái)看看什么是雙調(diào)序列。
    發(fā)表于 03-14 09:50 ?640次閱讀
    FPGA實(shí)現(xiàn)雙調(diào)<b class='flag-5'>排序</b>算法的探索與實(shí)踐

    想聽(tīng)聽(tīng)48和大對(duì)數(shù)光纜的排序

    48芯光纜和大對(duì)數(shù)光纜都是光纜中的一種,它們的區(qū)別在于芯數(shù)不同。48芯光纜指的是光纜中包含48根光纖,而大對(duì)數(shù)光纜則是指光纜中芯數(shù)超過(guò)了48芯。 在實(shí)際的光纜應(yīng)用中,不同芯數(shù)的光纜需要進(jìn)行不同的排序
    的頭像 發(fā)表于 03-12 10:44 ?610次閱讀

    PLC中常用進(jìn)制之間是如何轉(zhuǎn)換的?

    十進(jìn)制(Decimal?notation): 如1234=1*103+2*102+3*101+4*100,逢十進(jìn)一,基數(shù)為10,單個(gè)數(shù)是0-9,每位的系數(shù)乘于基數(shù)(10)的N次方,N為其所處的位數(shù)。
    發(fā)表于 02-27 09:49 ?969次閱讀
    PLC中常用進(jìn)制之間是如何轉(zhuǎn)換的?

    C語(yǔ)言實(shí)現(xiàn)經(jīng)典排序算法概覽

    冒泡排序(英語(yǔ):Bubble Sort)是一種簡(jiǎn)單的排序算法。它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序(如從大到小、首字母從A到Z)錯(cuò)誤就把他們交換過(guò)來(lái)。
    的頭像 發(fā)表于 02-25 12:27 ?445次閱讀
    C語(yǔ)言實(shí)現(xiàn)經(jīng)典<b class='flag-5'>排序</b>算法概覽
    主站蜘蛛池模板: 亚洲AV无码A片在线观看蜜桃| 国产香蕉视频| 爽a中文字幕一区| 国产精品人妻无码久久久蜜桃臀| 性xxx在线观看| 九九热在线免费观看| 中文字幕中文字幕永久免费| 蜜臀AV色欲A片无码一区| 99热国产这里只有精品6| 日本妈妈xxxx| 国产普通话精品久久| 亚洲一区在线观看无码欧美| 刘梓晨啪啪啪| www亚洲欲色成人久久精品| 日韩爽爽影院在线播放| 国产精品久久久久久免费字体| 亚洲成人免费| 老师给美女同学开嫩苞| 99RE6国产精品视频播放| 三级网站午夜三级| 国产在线观看香蕉视频| 最近的2019中文字幕国语| 欧美性喷潮xxxx| 国产欧美一区二区三区免费| 又长又大又粗又硬3p免费视频 | 美女内射少妇三区五区| 成人国产在线24小时播放视频| 午夜一个人在线观看完整版| 久久精品国产亚洲AV蜜臀| jizzjizz3d动漫| 亚洲 欧美 国产在线视频| 久久亚洲精品中文字幕| 成年黄网站免费大全毛片| 亚洲阿v天堂在线2017| 久久秋霞理论电影| 大肥女ass樱桃| 亚洲一区二区三区高清网| 奇米色偷偷| 果冻传媒AV精品一区| 99久久国产综合精品网成人影院| 天天躁日日躁狠狠躁中文字幕老牛 |