計數排序是一個非基于比較的線性時間排序算法。它對輸入的數據有附加的限制條件: 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
J2me開發循序見進(中文版).doc 可以了解到J2ME開發的基本常識,技巧,輕松進級。
標簽: J2me J2ME 常識
上傳時間: 2013-12-20
上傳用戶:tedo811
UVCView2.x86 專門看USB 描述表(特別時UVC裝置)
標簽: UVCView USB UVC 86
上傳時間: 2014-01-13
上傳用戶:xauthu
對于給定的$n$, 生成$[n]$的所有排列的算法。采用字典序編碼。
標簽: 算法 編碼
上傳時間: 2013-12-30
上傳用戶:czl10052678
中序轉后序, 適用于公式運算及相關轉換 如A=B+C
標簽: 運算 轉換
上傳時間: 2013-11-27
上傳用戶:皇族傳媒
第 一 章 Java語 言 的 產 生 及 其 特 點 第 二 章 Java程 序 開 發 與 運 行 環 境第 三 章 Java程 序 設 計 基 礎 第 四 章 Java應 用 程 序 的 基 本 框 架
標簽: Java
上傳時間: 2015-11-09
上傳用戶:zq70996813
二叉樹的建立、前序遍歷、中序遍歷、后序遍歷
標簽: 二叉樹
上傳時間: 2014-01-03
上傳用戶:xinyuzhiqiwuwu
序采用網上介紹的方法實現最基本的P2P方式通訊.模擬實現即時消息互發. 2.P2P通訊說明: 1).網關類型是在理想狀態下.即非對稱型NAT. 2).同在一個內網的兩個CLIENT端通訊時,如果網關NAT不支持環回,將會失敗. 文件目錄說明: tQServer:程序服務端,請將其放在公網上運行. tQClient:程序客戶端,可以在不同的內網中運行登錄連接到服務端. Common:公共協議文件夾
標簽: CLIENT 通訊 P2P NAT
上傳時間: 2014-08-05
上傳用戶:日光微瀾
數據結構實驗:實現兩表達式算術求和 任務:能夠按照指數降序排列建立并輸出多項式; 能夠完成兩個多項式的相加、相減,并將結果輸入;
標簽: 多項式 數據結構 實驗 減
上傳時間: 2015-11-16
上傳用戶:小眼睛LSL
[問題描述] 將N個關鍵字去整數的記錄進行整序, 以使所有關鍵字為非負數的記錄排在關鍵字為負數的記錄之前,要求使用最少的附加空間,且算法的時間復雜度為O(N) [輸入] 待排序記錄個數,各關鍵字的值。 [輸出] 關鍵字從正負分開,正數在前 [存儲結構] 待排序記錄順序存儲。 [算法的基本思想] 快速排序算法每次任取一個記錄的關鍵字為標準,將其余記錄分為兩組將,N個關鍵字去整數的記錄進行整序, 以使所有關鍵字為非負數的記錄排在關鍵字為負數的記錄之前。 #include <iostream> using namespace std #define MAXNUM 100//設文件的最長可能長度 void sort(int* keys, const int len)//排序
標簽: 整數 記錄
上傳用戶:aig85
蟲蟲下載站版權所有 京ICP備2021023401號-1