第八章 線性時間排序

2021-08-08 11:11:54 字數 565 閱讀 3686

比較排序:在排序的最終結果中,各元素的次序依賴於太難之間的比較。

決策樹:完全二叉樹,某一特定排序演算法對所有元素的比較操作。

節點中標註的是序號不是元素值。

需要了解輸入陣列中最大值可能是多大。

通過對輸入陣列中的元素進行計數來排序。

非原地演算法,需要額外的n+k個空間。

排序是穩定的。最後乙個迴圈從後向前遍歷保持了穩定,否則不穩定。

8.2-4 類似計數排序,建立儲存,然後用a,b位置上的計數相減

基數排序需要使用其他穩定的排序演算法。

其對排序多關鍵字的記錄,並多個關鍵字之間有優先順序關係,是可用的。

基數排序是有缺陷的,其要求關鍵字個數相同,不能有記錄缺失乙個或多個關鍵字。

顯然,關鍵字的選擇非常關鍵,並且對時間複雜度產生影響。

假設輸入均勻分布,在[0

,1) 之間。需要額外的空間。

每個桶內期望元素數量的平方和總的元素數量呈線性關係,排序的時間複雜度中保持線性(即使輸入不是均勻的)。

第八章 線性時間排序

這章剛開始證明了基於比較的排序的演算法在最壞情況下,都需要做nlgn次比較。由此可以推出合併排序快速排序都是漸進最優的比較排序演算法。線性時間排序 1.計數排序 計數排序假設n個輸入元素中的每乙個都是介於0 k之間的整數,此處k為某個整數。當k o n 時,計數排序的執行時間為o n 計數排序的思想...

第八章 線性時間排序

輸入 0 k.時間複雜度o k n 當k o n 排序時間為 n 不是比較排序,所以脫離了 nlgn 它根據輸入元素的值確定在陣列中的位置.對於n個d位數,每一位有k個取值,從低位到高位依次穩定排序 n k 那麼時間複雜度為 d n k 對於n個d位數,r d,可以在 d r n 2r 時間內排序....

演算法導論 第八章 線性時間排序

def 之前所有的排序演算法中,各元素的次序依賴於它們之間的比較,我們把這類排序演算法稱為比較排序演算法。8.1.排序演算法的下界 def 決策樹是一棵二叉樹,它可以表示在給定輸入規模情況下,某一特定排序演算法對所有元素的比較操作。即將所有比較後的次序描述為一條到達葉子節點的路徑,而這個路徑唯一,葉...