計數排序是一個非基于比較的線性時間排序算法。它對輸入的數據有附加的限制條件: 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
一個RIP協議模擬程序..在一個工作空間之內畫上一些路由跟網絡,再畫上它們之間的連線.系統后臺用一個線程實現模擬路由發送路由表信息.輸出路由表的更新內容跟過程.
標簽: RIP 模擬 路由 路由表
上傳時間: 2015-10-31
上傳用戶:yxgi5
TI例程,TMS320C64XXDSP實現正弦信號發生,采用查表法,利用IO函數進行數據導入
標簽: XXDSP TMS 320 64
上傳時間: 2015-11-10
上傳用戶:cjl42111
struts構架例程基于struts的人事管理系統3.辦公日志系統4.電子政務管理系統5.餐飲業進銷存系
標簽: struts 管理系統 構架 日志系統
上傳時間: 2014-01-13
上傳用戶:jqy_china
我的查表算法思路是這樣的 : 1、構造N個二維數組(N=你需要輸入的最大頻率值位數,例如你需要精確到10HZ,最高30MHZ,那么就有10M位、1M位、100K位、10K位、1K位、100HZ位、10HZ位,共7位,所以N=7)。 2、根據你所用的芯片型號,和晶振頻率,計算出每個頻率位0-9時的控制字。 3、使用時,把你頻率的每一位控制字,查表讀出,并相加(特別需要注意進位也需要處理)。 4、把加出的4字節控制字,送DDS。
標簽: 算法 二維 數組 最大頻率
上傳時間: 2015-12-21
上傳用戶:zjf3110
野人和修道士問題。(要求用圖的鄰接表的存儲結構實現) 題目:假設有N個修道士和N個野人準備渡河,為了防止野人侵犯修道士,要耱無論在何處,修道士的人數不得少于野人的個數(除非修道士個數為0)他們兩個都會劃船
標簽: 存儲結構
上傳時間: 2015-12-22
上傳用戶:壞天使kk
本模型是在內存中創建 n 個工人線程, 1. 在無任務時處于休眠狀態,不占用CPU時間, 2. 在有任務時,被喚醒,取得任務,完成任務后,又自動休眼.
標簽: CPU 模型 內存 休眠
上傳時間: 2016-01-07
上傳用戶:erkuizhang
鏈表的例程 一種模版 用指針c++實現的一種源程序
標簽: 模版 指針 源程序
上傳時間: 2016-01-22
上傳用戶:hasan2015
帶表頭結點的單鏈表 可完成基本的單鏈表操作 可查找刪除第N個或值為X的結點 可刪除重復結點
標簽: 單鏈表 刪除 表頭 操作
上傳時間: 2016-02-28
上傳用戶:talenthn
嵌入式數據Berkeley DB 4.5.20的應用例程.該例是在at91rm9200下運行,實現對數據庫表的創建,數據的存取
標簽: Berkeley 9200 數據 20
上傳時間: 2016-03-26
上傳用戶:yuchunhai1990
蟲蟲下載站版權所有 京ICP備2021023401號-1