827 次瀏覽
以下是非比較排序技術的一個示例。它用於物品數量和可能鍵值的範圍大致相同的情況。要執行此排序,我們需要建立一些孔洞。所需孔洞的數量取決於數字範圍。在每個孔洞中插入物品。最後,從孔洞中刪除並存儲到陣列中,以實現排序順序。 鴿籠排序技術複雜度 時間複雜度:O(n+2^k) 空間複雜度:O(2^k) 輸入和輸出 輸入:未排序的列表:802 630 20 745 52 300 612 932 78 187 輸出:排序前的資料:802 630 20 745 ... 繼續閱讀
689 次瀏覽
迴圈排序是一種就地排序演算法。它也是一種基於比較的排序,對於任何其他就地排序技術而言都是高效的。它查詢執行排序任務時所需的最低記憶體寫入次數。迴圈排序技術複雜性時間複雜性:O(n^2)空間複雜性:O(1)輸入和輸出輸入:一個未排序的資料列表:23 63 98 74 20 14 36 45 99 78 輸出:排序前陣列:23 63 98 74 20 14 36 45 99 78 排序後陣列:14 20 23 36 45 63 74 78 98 99 演算法 cycleSort(array, size) 輸入 - 資料陣列,以及總數... 閱讀原文
1K+ 次瀏覽
梳排序和氣泡排序的基本思想相同。換句話說,梳排序是對氣泡排序的改進。在氣泡排序技術中,每一階段將項與下一項進行比較。但對於梳排序,各項按照特定間隙進行排序。完成每一階段後,間隙會減小。此種排序的減小因子或收縮因子為 1.3。這意味著完成每一階段後,間隙將除以 1.3。梳排序技術複雜性時間複雜性:對於最佳情況為 O(n log n)。對於最壞情況為 O(n^2/2^p) (p... 閱讀原文