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 ... 閱讀更多