标签: arrays sorting big-o time-complexity
是否有一个算法可以对n大小的数组进行排序和O(n)时间,该数组采用范围为[0..k]
答案 0 :(得分:0)
是的,有!考虑使用most-significant digit radix sort,有时称为二进制快速排序。这个算法就地工作,虽然它需要O(log n)辅助空间用于递归栈(我不知道这是否是你最终的交易破坏者)。用于排序最大值为U的n个数字列表的运行时为O(n log U),在您的情况下,因为k是固定常量,运行时为O(n)。