chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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(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(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(n)=O(n)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)推薦
    熱點(diǎn)推薦

    1688 拍立淘接口實(shí)戰(zhàn):從圖像優(yōu)化、工廠排序到供應(yīng)鏈匹配(附可跑代碼)

    深耕B2B電商十余年,親歷1688拍立淘接口20+坑:從圖像預(yù)處理、權(quán)限申請(qǐng)到工廠排序。本文詳解核心參數(shù)、實(shí)戰(zhàn)代碼及多圖驗(yàn)證、定制方案生成等高級(jí)技巧,助你實(shí)現(xiàn)“看圖找廠”精準(zhǔn)匹配,附可運(yùn)行代碼,新手也能少走兩年彎路。
    的頭像 發(fā)表于 10-09 10:39 ?138次閱讀

    使用env工具 生成的mdk工程 中的 頭文件路徑太亂了怎么解決?

    能不能按照相似路徑歸類排序
    發(fā)表于 09-16 07:46

    Texas Instruments TPS743低壓差 (LDO) 線性穩(wěn)壓器數(shù)據(jù)手冊(cè)

    和內(nèi)核引腳之間ESD結(jié)構(gòu)的應(yīng)力。借助電源良好輸出和使能輸入,可使用外部穩(wěn)壓器輕松實(shí)現(xiàn)排序。借助這種靈活性,用戶可以配置解決方案,滿足DSP、FPGA和其他具有特殊啟動(dòng)要求的應(yīng)用的排序要求。
    的頭像 發(fā)表于 07-04 15:41 ?623次閱讀
    Texas Instruments TPS743低壓差 (LDO) 線性穩(wěn)壓器數(shù)據(jù)手冊(cè)

    國(guó)際首創(chuàng)新突破!中國(guó)團(tuán)隊(duì)以存算一體排序架構(gòu)攻克智能硬件加速難題

    2025 年 6 月 25 日,北京大學(xué)團(tuán)隊(duì)在智能計(jì)算硬件方面取得領(lǐng)先突破,國(guó)際上首次實(shí)現(xiàn)了基于存算一體技術(shù)的高效排序硬件架構(gòu) (A fast and reconfigurable
    的頭像 發(fā)表于 07-02 16:50 ?406次閱讀
    國(guó)際首創(chuàng)新突破!中國(guó)團(tuán)隊(duì)以存算一體<b class='flag-5'>排序</b>架構(gòu)攻克智能硬件加速難題

    Analog Devices Inc. MAX16895 監(jiān)控電路特性/應(yīng)用/功能圖

    Analog Devices MAX16895監(jiān)控電路是小型、低功耗、電壓監(jiān)控電路,具有排序功能。這些器件具有可調(diào)的、低至0.5V的電壓監(jiān)控閾值,并可利用外部電容調(diào)節(jié)延遲時(shí)間。這些Analog Devices器件非常適合用于電源排序、復(fù)位
    的頭像 發(fā)表于 06-26 09:34 ?412次閱讀
    Analog Devices Inc. MAX16895 監(jiān)控電路特性/應(yīng)用/功能圖

    低成本電源排序器解決方案

    絕大多數(shù)負(fù)載點(diǎn)DC-DC轉(zhuǎn)換器可以將上一個(gè)轉(zhuǎn)換器的電源就緒輸出連接至下一個(gè)轉(zhuǎn)換器的使能輸入,實(shí)現(xiàn)上電排序。這種方法只適合比較簡(jiǎn)單的設(shè)計(jì),不能滿足多數(shù)現(xiàn)代微處理器和DSP的要求一這類器件要求斷電順序必須與上電順序相反。許多廠商針對(duì)這類應(yīng)用推出了可編程排序IC,但器件價(jià)格較為
    的頭像 發(fā)表于 05-21 09:55 ?818次閱讀
    低成本電源<b class='flag-5'>排序</b>器解決方案

    UCD9224 2 MHz、2 軌、4 相數(shù)字 PWM 降壓控制器,具有改進(jìn)的排序功能技術(shù)資料

    和管理。 UCD9224 旨在為非隔離式 DC/DC 轉(zhuǎn)換器應(yīng)用提供各種理想的功能,同時(shí)通過(guò)減少外部電路來(lái)最大限度地減少系統(tǒng)組件總數(shù)。該解決方案將多回路管理與排序、裕度、跟蹤和智能相位管理集成在一起,以優(yōu)化整體系統(tǒng)效率。此外,還支持環(huán)路補(bǔ)償和校準(zhǔn),無(wú)需添加外部元件。
    的頭像 發(fā)表于 03-28 15:44 ?456次閱讀
    UCD9224 2 MHz、2 軌、4 相數(shù)字 PWM 降壓控制器,具有改進(jìn)的<b class='flag-5'>排序</b>功能技術(shù)資料

    基數(shù)字鑰匙平臺(tái)正式上線

    領(lǐng)先的汽車智能化解決方案供應(yīng)商上海銀基科技股份有限公司正式宣布,旗下支持Apple錢包中的數(shù)字車鑰匙接入的銀基數(shù)字鑰匙平臺(tái)正式上線,該平臺(tái)全面適配CCC國(guó)際標(biāo)準(zhǔn),標(biāo)志著數(shù)字鑰匙全球化部署進(jìn)程取得重要進(jìn)展。
    的頭像 發(fā)表于 02-28 13:47 ?739次閱讀

    Phase Lab鋁基數(shù)據(jù)庫(kù),賦能7xxx系鋁合金開(kāi)發(fā)設(shè)計(jì)

    高性能鋁合金的研發(fā)和應(yīng)用是我國(guó)新材料產(chǎn)業(yè)發(fā)展規(guī)劃以及國(guó)家重點(diǎn)研發(fā)計(jì)劃的重要支持方向。7xxx系鋁合金,核心成分包括Al、Zn(占比5%-8%)、Mg(占比0.5%-2.5%)和Cu(占比1%-2%),添加微量Ti和Zr元素可增強(qiáng)合金的焊接性,引入微量的Sc元素可對(duì)合金晶粒進(jìn)行細(xì)化。7xxx系鋁合金具有高強(qiáng)、輕質(zhì)、良好的塑性、焊接性以及低溫性能等特點(diǎn),廣泛應(yīng)用于航空航天、高速列車、汽車制造和高端電子產(chǎn)品等領(lǐng)域,是追求高性能和輕量化的重要材料。 以7xxx系鋁合金的開(kāi)
    的頭像 發(fā)表于 01-15 09:56 ?1300次閱讀
    Phase Lab鋁<b class='flag-5'>基數(shù)</b>據(jù)庫(kù),賦能7xxx系鋁合金開(kāi)發(fā)設(shè)計(jì)

    詳解Linux sort命令之掌握排序技巧與實(shí)用案例

    在linux系統(tǒng)使用過(guò)程中,提供了sort排序命令,支持常用的排序功能。 常用參數(shù) sort命令支持很多參數(shù),常用參數(shù)如下: ? 短參數(shù) 長(zhǎng)參數(shù) 說(shuō)明 -n – number-sort 按字符串?dāng)?shù)值
    的頭像 發(fā)表于 01-09 10:10 ?1428次閱讀

    Phase Lab鎳基數(shù)據(jù)庫(kù),輔助開(kāi)發(fā)Ni-AI-Cr-X系高溫合金

    Phase Lab? 鎳基數(shù)據(jù)庫(kù) 輔助開(kāi)發(fā)Ni-AI-Cr-X系高溫合金 Ni-Al-Cr-X四元系(X=Mo、Ti和W),基于γ基體相(FCC_A1結(jié)構(gòu))與γ'有序相(FCC_L12結(jié)構(gòu)
    的頭像 發(fā)表于 01-08 11:29 ?1259次閱讀
    Phase Lab鎳<b class='flag-5'>基數(shù)</b>據(jù)庫(kù),輔助開(kāi)發(fā)Ni-AI-Cr-X系高溫合金

    TimSort:一個(gè)在標(biāo)準(zhǔn)函數(shù)庫(kù)中廣泛使用的排序算法

    在計(jì)算機(jī)科學(xué)的領(lǐng)域,排序算法是每位學(xué)生必學(xué)的基礎(chǔ),而排序的需求是每位程序員在編程過(guò)程中都會(huì)遇到的。 在你輕松調(diào)用 .sort() 方法對(duì)數(shù)據(jù)進(jìn)行排序時(shí),是否曾好奇過(guò),這個(gè)簡(jiǎn)單的方法背后
    的頭像 發(fā)表于 01-03 11:42 ?815次閱讀

    Phase Lab鎳基數(shù)據(jù)庫(kù),驅(qū)動(dòng)高性能Ni-AI-Co-Cr系合金設(shè)計(jì)

    Phase Lab? 鎳基數(shù)據(jù)庫(kù) 驅(qū)動(dòng)高性能Ni-AI-Co-Cr系合金設(shè)計(jì) 鎳基合金以優(yōu)異的高溫強(qiáng)度、耐蝕和耐磨等性能,廣泛應(yīng)用于航空發(fā)動(dòng)機(jī)、燃?xì)廨啓C(jī)等高溫工作部件以及化工、醫(yī)療和海洋工程等腐蝕性
    的頭像 發(fā)表于 12-31 10:12 ?1117次閱讀
    Phase Lab鎳<b class='flag-5'>基數(shù)</b>據(jù)庫(kù),驅(qū)動(dòng)高性能Ni-AI-Co-Cr系合金設(shè)計(jì)

    在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 ?1929次閱讀
    時(shí)間復(fù)雜度為 O(n^2) 的<b class='flag-5'>排序</b>算法