計數(shù)排序是一個非基于比較的線性時間排序算法。它對輸入的數(shù)據(jù)有附加的限制條件: 1、輸入的線性表的元素屬于有限偏序集S; 2、設(shè)輸入的線性表的長度為n,|S|=k(表示集合S中元素的總數(shù)目為k),則k=O(n)。 在這兩個條件下,計數(shù)排序的復(fù)雜性為O(n)。 計數(shù)排序算法的基本思想是對于給定的輸入序列中的每一個元素x,確定該序列中值小于x的元素的個數(shù)。一旦有了這個信息,就可以將x直接存放到最終的輸出序列的正確位置上。例如,如果輸入序列中只有17個元素的值小于x的值,則x可以直接存放在輸出序列的第18個位置上。 計數(shù)排序算法沒有用到元素間的比較,它利用元素的實際值來確定它們在輸出數(shù)組中的位置。因此,計數(shù)排序算法不是一個基于比較的排序算法,從而它的計算時間下界不再是Ω(nlogn)。另一方面,計數(shù)排序算法之所以能取得線性計算時間的上界是因為對元素的取值范圍作了一定限制,即k=O(n)。如果k=n2,n3,..,就得不到線性時間的上界。
上傳時間: 2015-10-30
上傳用戶:chenxichenyue
[問題描述] 將N個關(guān)鍵字去整數(shù)的記錄進行整序, 以使所有關(guān)鍵字為非負數(shù)的記錄排在關(guān)鍵字為負數(shù)的記錄之前,要求使用最少的附加空間,且算法的時間復(fù)雜度為O(N) [輸入] 待排序記錄個數(shù),各關(guān)鍵字的值。 [輸出] 關(guān)鍵字從正負分開,正數(shù)在前 [存儲結(jié)構(gòu)] 待排序記錄順序存儲。 [算法的基本思想] 快速排序算法每次任取一個記錄的關(guān)鍵字為標準,將其余記錄分為兩組將,N個關(guān)鍵字去整數(shù)的記錄進行整序, 以使所有關(guān)鍵字為非負數(shù)的記錄排在關(guān)鍵字為負數(shù)的記錄之前。 #include <iostream> using namespace std #define MAXNUM 100//設(shè)文件的最長可能長度 void sort(int* keys, const int len)//排序
上傳時間: 2014-01-13
上傳用戶:aig85
C++Primer中文版 第三版 深入系列 Primer 第三版 著 中中文文版版潘愛民張麗譯 Addison-Wesley 中國電力出版社 www.infopower.com.cn Stanley B Lippman J o s é e L a j o i e
標簽: Primer Addison-Wesley infopower www
上傳時間: 2014-01-14
上傳用戶:myworkpost
Dijkstra算法求最短路徑(C#版) using System using System.Collections using System.Text namespace Greedy { class Marx { private int[] distance private int row private ArrayList ways = new ArrayList() public Marx(int n,params int[] d) { this.row = n distance = new int[row * row] for (int i = 0 i < row * row i++) { this.distance[i] = d[i]
標簽: System using Collections namespace
上傳時間: 2013-12-29
上傳用戶:liglechongchong
本書提供用J B u i l d e r開發(fā)數(shù)據(jù)庫應(yīng)用程序、創(chuàng)建分布式應(yīng)用程序以及編寫J a v a B e a n 組件的高級資料。它包括下列幾個部分: • 第一部分是“開發(fā)數(shù)據(jù)庫應(yīng)用程序”,它提供關(guān)于使用J b u i l d e r的D a t a E x p r e s s數(shù)據(jù) 庫體系結(jié)構(gòu)的信息,并解釋原始數(shù)據(jù)組件和類之間的相互關(guān)系,以及怎樣使用它 們來創(chuàng)建你的數(shù)據(jù)庫應(yīng)用程序。它還解釋怎樣使用Data Modeler(數(shù)據(jù)模型器)和 Application Generator(應(yīng)用程序生成器)創(chuàng)建數(shù)據(jù)驅(qū)動的客戶機/服務(wù)器應(yīng)用程 序。 • 第二部分是“開發(fā)分布式應(yīng)用程序”,它提供關(guān)于使用ORB Explorer、用J B u i l d e r 創(chuàng)建多級的分布應(yīng)用程序、調(diào)試分布式應(yīng)用程序、用J a v a定義C O R B A接口以及 使用s e r v l e t等的信息。 • 第三部分是“創(chuàng)建J a v a B e a n”,它解釋怎樣開發(fā)新的J a v a B e a n組件,描述在組件 開發(fā)中涉及的任務(wù), 怎樣使用B e a n s E x p r e s s創(chuàng)建新的J a v a B e a n,以及關(guān)于屬性、 事件、B e a nIn f o類和其他方面的詳細情況。
標簽: 8226 數(shù)據(jù)庫 應(yīng)用程序 分
上傳時間: 2014-01-03
上傳用戶:wpt
嵌入式實時操作系統(tǒng)μC/OS-II(第2版)自帶光盤源碼 【原 書 名】 MicroC/OS-II The Real-Time Kernel,Second Edition 本書是MicroC/OSII The Real Time Kernel一書的第2版本,在第1版本(V2.0)基礎(chǔ)上做了重大改進與升級。通過對μC/OSII源代碼的分析與描述,講述了多任務(wù)實時的基本概念、競爭與調(diào)度算法、任務(wù)間同步與通信、存儲與定時的管理以及如何處理優(yōu)先級反轉(zhuǎn)問題;介紹如何將μC/OSII移植到不同CPU上,如何調(diào)試移植代碼。在所附光盤中,給出已通過FAA安全認證的μC/OSII V2.52的全部源碼以及可在PC機上運行的移植范例。
標簽: MicroC OS-II Real-Time Edition
上傳時間: 2016-02-10
上傳用戶:thesk123
由三星的2442修改而來,正確引導eboot,請注意用三星公版的硬件配置,具體可以參考QQ2440,因為我在些平臺上跑過,具體操作 1.target settings : post-linker:選擇為 ARM fromELF 2.ARM assembler與 ARM c Compiler 的 architecture or processor 選擇為:ARM920T 3.ARM linker的 output:RO base為 0x00000000 (當仿真時為:0x30000000),layout的 object/sysmbol:為2440init.o section:Init 4.ARM fromELF 的 output:format:plain binary , output file name:nboot.bin 下面為全部源碼,注意用ADS編譯 2442addr.h 2442addr.inc 2442init.s 2442lib.c 2442lib.h 2442loader-1208.c 2442slib.h 2442slib.s Def.h k9s1208_s.s Memcfg.inc Nand.h Nand_mini.c Option.h Option.inc
標簽: post-linker settings target eboot
上傳時間: 2016-05-06
上傳用戶:moshushi0009
實現(xiàn)最優(yōu)二叉樹的構(gòu)造;在此基礎(chǔ)上完成哈夫曼編碼器與譯碼器。 假設(shè)報文中只會出現(xiàn)如下表所示的字符: 字符 A B C D E F G H I J K L M N 頻度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57 字符 O P Q R S T U V W X Y Z , . 頻度 63 15 1 48 51 80 23 8 18 1 16 1 6 2 要求完成的系統(tǒng)應(yīng)具備如下的功能: 1.初始化。從終端(文件)讀入字符集的數(shù)據(jù)信息,。建立哈夫曼樹。 2.編碼:利用已建好的哈夫曼樹對明文文件進行編碼,并存入目標文件(哈夫曼碼文件)。 3.譯碼:利用已建好的哈夫曼樹對目標文件(哈夫曼碼文件)進行編碼,并存入指定的明文文件。 4.輸出哈夫曼編碼文件:輸出每一個字符的哈夫曼編碼。
上傳時間: 2014-11-23
上傳用戶:shanml
最大間隙問題:給定n 個實數(shù)x , x , , xn 1 2 ,求這n 個數(shù)在實軸上相鄰2 個數(shù)之間的最 大差值。假設(shè)對任何實數(shù)的下取整函數(shù)耗時O(1),設(shè)計解最大間隙問題的線性時間算法。
上傳時間: 2013-12-25
上傳用戶:123456wh
算法實現(xiàn)題1-2 連續(xù)和問題 « 問題描述: 給定一個正整數(shù)n,計算有多少個不同的連續(xù)自然數(shù)段,其和恰為n。例如,當n=27 時,有4 個不同的連續(xù)自然數(shù)段的和恰為27:2+3+4+5+6+7;8+9+10;13+14;27。 « 編程任務(wù): 給定一個正整數(shù)n,試設(shè)計一個O(n)時間算法,計算有多少個不同的連續(xù)自然數(shù)段的 和恰為n。 « 數(shù)據(jù)輸入: 由文件input.txt提供輸入數(shù)據(jù)。文件的第1 行是正整數(shù)n。 « 結(jié)果輸出: 程序運行結(jié)束時,將計算出的和恰為n的連續(xù)自然數(shù)段的個數(shù)輸出到output.txt中。 輸入文件示例 輸出文件示例 input.txt 27 output.txt 4
上傳時間: 2016-05-28
上傳用戶:yulg
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1