計數排序java實現

2021-09-23 14:17:25 字數 671 閱讀 9796

計數排序

1.基本思想

計數排序是乙個非基於比較的排序演算法,該演算法於2023年由 harold h. seward 提出。它的優勢在於在對一定範圍內的整數排序時,它的效能甚至快於哪些o(nlogn)的排序演算法。 

思路是開乙個長度為 maxvalue-minvalue+1 的陣列,然後

分配。掃瞄一遍原始陣列,以當前值- minvalue 作為下標,將該下標的計數器增1。

收集。掃瞄一遍計數器陣列,按倒序把值收集起來。

2.**實現

public class countsort 

if(arr[i]=0;i--)

return sortedarray; }

public static void main(string args) ;

int sortedarray=countsort(arr);

system.out.println("結果輸出:"+arrays.tostring(sortedarray));

}}

3.結果輸出

統計不同元素出現的次數:[1, 1, 1, 1, 1, 1, 0, 2]

變形後的陣列:[1, 2, 3, 4, 5, 6, 6, 8]

結果輸出:[91, 92, 93, 94, 95, 96, 98, 98]

計數排序 java實現)

計數排序常用於純數字的排序,速度很快,也很實用 小資料採用計數排序,空間換時間 package sort 計數排序 常用於數字排序 用空間換時間策略 public class countintegersort int min findmin arr int max findmax arr int c...

計數排序和桶排序(Java實現)

計數排序適用資料範圍 過程分析 網路流傳桶排序演算法勘誤 桶排序適用資料範圍 過程分析 常見的快速排序 歸併排序 堆排序 氣泡排序等屬於比較排序。在排序的最終結果裡,元素之間的次序依賴於它們之間的比較。每個數都必須和其他數進行比較,才能確定自己的位置。在氣泡排序之類的排序中,問題規模為n,又因為需要...

排序演算法 Java版 計數排序

計數排序通過將元素之間的大小差別轉化為陣列中下標距離進行排序,陣列下標距離代表兩元素差,陣列內的值代表這個大小的元素出現的次數 public class test int max integer.min value int min integer.max value 找出陣列中的最大最小值 for ...