//计数排序:利用桶统计各个数字出现的次数,再通过桶的key构建新返回数组
//复杂度:时间O(n) 空间:O(n)
//适用场景:数字个数较多,数字范围较小
function countSort(arr){
let tong=[]
for (let i=0;i<arr.length;i++){
if (!tong[arr[i]]){
tong[arr[i]]=0
}
tong[arr[i]]++
}
let res=[]
for (let i=0;i<tong.length;i++){
for (let j=0;j<tong[i];j++){
res.push(i)
}
}
return res
}
console.log(countSort([1, 2, 3, 9,10,4, 1, 2, 3, 4]));
4.计数排序
最新推荐文章于 2024-10-11 17:39:47 发布
本文详细介绍了计数排序的基本原理和实现方法,该算法利用桶统计数组中每个元素出现的次数,然后根据桶的键值构建新的有序数组。算法的时间复杂度为O(n),空间复杂度为O(n),特别适用于数字范围较小且数量较多的情况。通过实例展示了计数排序的过程,并分析了其适用场景。
摘要由CSDN通过智能技术生成