【发布时间】:2017-06-10 12:00:09
【问题描述】:
我在区间[0,n^c] 中有n 整数,其中c 是某个正整数。
我可以使用哪种算法在线性时间内对这些整数进行排序?
我确实通过以下问题查看了 RadixSort:给定间隔最长数字最多具有 cnlogn 个数字,那么 RadixSort 不会在 O(nlogn) 时间内运行吗?
【问题讨论】:
-
我相信您正在寻找的是基数排序。
-
@Coldspeed:我确实看过基数排序。但是,如果我正确理解基数排序,我需要 m 个“Buckets”,其中 m 是最长整数的位数。给定我的区间,“最长”数字最多有 c*logn 数字(以 10 为底)
-
radixSort 的运行时间不会是 O(nlogn) 而不是 O(n),因为数字的长度是 c*nlogn ???
标签: algorithm