計數排序是一個非基于比較的線性時間排序算法。它對輸入的數據有附加的限制條件: 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后問題,實現n后問題的求解,并且可以輸出最有解
標簽: 輸出
上傳時間: 2015-11-13
上傳用戶:chens000
設計一個允許n個進程并發運行的進程管理模擬系統。該系統包括有簡單的進程控制、同步與通訊機構,其進程調度算法可任意選擇。每個進程用一個PCB表示,其內容根據具體情況設置。各進程之間有一定的同步關系(可選)。系統在運行過程中應能顯示或打印各進程的狀態及有關參數的變化情況,以便觀察諸進程的運行過程及系統的管理過程。
標簽: 進程 運行 模擬系統 控制
上傳時間: 2015-11-21
上傳用戶:515414293
有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出 圈子,問最后留下的是原來第幾號的那位。
標簽:
上傳時間: 2015-11-23
上傳用戶:sjyy1001
有n個整數,使其前面各數順序向后移m個位置,最后m個數變成最前面的m個數.
標簽: 整數
上傳用戶:sssl
這是一個ACM中的題請大家看以下哈 如果有問題請多多指教 n個猴子圍坐一圈并按照順時針方向從1到n編號,從第s個猴子開始進行1到m的報數,報數到第m的猴子 退出報數,從緊挨它的下一個猴子重新開始1到m的報數,如此進行下去知道所有的猴子都退出為止。 求給出這n個猴子的退出的順序表。 Input 有做組測試數據.每一組數據有兩行,第一行輸入n(表示猴子的總數)第二行輸入數據s(從第s 個猴子開 始報數)和數據m(第m個猴子退出報數).當輸入0 0 0時表示程序結束. Output 輸出中,每組數據的輸出結果為一行,中間用逗號間隔。
標簽: ACM 家 方向
上傳時間: 2014-01-01
上傳用戶:腳趾頭
有m¥n(m£100,n£100)個金幣在桌面上排成一個m行n列的金幣陣列。每一枚金 幣或正面朝上或背面朝上。用數字表示金幣狀態,0表示金幣正面朝上,1 表示背面朝上。 金幣陣列游戲的規則是: (1)每次可將任一行金幣翻過來放在原來的位置上; (2)每次可任選2列,交換這2 列金幣的位置。
標簽: 100 陣列 正 數字表
上傳時間: 2015-12-13
是一個精典的遞歸加動態規化的題 題目:有M個蘋果要求放入N個籃子中,求出放法的總數(N個籃子中放的蘋果數不限定,有的也可以不放)
標簽: 遞歸 動態 蘋果
上傳時間: 2015-12-22
上傳用戶:silenthink
將1到N的N個自然數排成一列,共有1*2*3……*N種不同的排列方法,如N=3時,有6種排列方案,分別為123,132,213,231,312,321.試編程序輸出1到N的全部排列,假設N<10. 為了設計出由計算機輸出1到N的全部排列程序,就必須尋找不同排列之間的規律.通過觀察N=5(參見本例的運行結果)的排列情況,可以發現,如果把每個排列看作一個自然數, 則所有排列對應的數是按從小到大的順序排列
標簽: 123 132 213 231
上傳時間: 2013-12-24
上傳用戶:lvzhr
波卡舞,n個男賓與n-1個女賓,11對應,沒有對應的用一個掃帚代替.舞曲時間一定,有不同小節數,每小節移動不同次,一曲終了,把掃帚的下一對排出.求最后剩下的男賓號碼和每次排出的一對的男女編號.一道習題,德語說明.
標簽: 11 移動 號碼
上傳時間: 2013-12-26
上傳用戶:kelimu
蟲蟲下載站版權所有 京ICP備2021023401號-1