計數排序是一個非基于比較的線性時間排序算法。它對輸入的數據有附加的限制條件: 1、輸入的線性表的元素屬于有限偏序集S; 2、設輸入的線性表的長度為n,|S|=k(表示集合S中元素的總數目為k),則k=O(n)。 在這兩個條件下,計數排序的復雜性為O(n)。 計數排序算法的基本思想是對于給定的輸入序列中的每一個元素x,確定該序列中值小于x的元素的個數。一旦有了這個信息,就可以將x直接存放到最終的輸出序列的正確位置上。例如,如果輸入序列中只有17個元素的值小于x的值,則x可以直接存放在輸出序列的第18個位置上。 計數排序算法沒有用到元素間的比較,它利用元素的實際值來確定它們在輸出數組中的位置。因此,計數排序算法不是一個基于比較的排序算法,從而它的計算時間下界不再是Ω(nlogn)。另一方面,計數排序算法之所以能取得線性計算時間的上界是因為對元素的取值范圍作了一定限制,即k=O(n)。如果k=n2,n3,..,就得不到線性時間的上界。
標簽: 線性 輸入 排序 元素
上傳時間: 2015-10-30
上傳用戶:chenxichenyue
中文自然語言處理 -- N-Gram及其平滑技術
標簽: N-Gram 自然語言處理
上傳用戶:獨孤求源
最小二乘遞推算法的Matlab仿真 v(k)是服從N(0,1)分布的不相關隨機噪聲
標簽: Matlab 遞推算法 仿真 分布
上傳時間: 2015-11-01
上傳用戶:love1314
設有n種不同面值a1, a2,…, an的郵票,規定每封信最多貼m張郵票。對于給定的m,n,求出最大的郵資連續區間。
標簽:
上傳時間: 2014-12-04
上傳用戶:彭玖華
對于給定的整數$n$,生成$[n]$的所有排。采用Jonhson-Trotter算法。
標簽: 整數
上傳時間: 2015-11-03
對于給定的$n$, 生成$[n]$的所有排列的算法。采用逆序數編碼方法。
標簽: 算法 編碼
上傳用戶:zhliu007
對于給定的$n$, 生成$[n]$的所有排列的算法。采用字典序編碼。
上傳時間: 2013-12-30
上傳用戶:czl10052678
給定整數n,產生所有[2n]上的匹配(matching) //將其視為一個所有塊大小均為2的集合分拆 //輸出格式為 a1 a2 - b1 b2 - c1 c2 - ... //滿足a1<a2, b1<b2, ... //且 a1 < b1 < c1 <
上傳用戶:youth25
//給定整數n,產生所有[2n]上的匹配(matching) //將其視為一個所有塊大小均為2的集合分拆 //以a_i表示其第i個元素所在的集合號 //輸出格式為 a1 a2 a3 ... //滿足 //a_{i+1} <= max { a1,a2,...a_i } + 1
上傳時間: 2014-01-18
上傳用戶:xieguodong1234
基于MATLAB完成的神經網絡源程序 該程序可以擴充n個輸入,n個輸出,很容易
標簽: MATLAB 神經網絡 源程序 程序
上傳時間: 2015-11-04
上傳用戶:waitingfy
蟲蟲下載站版權所有 京ICP備2021023401號-1