基数排序(Radix Sort)、桶排序(Bucket Sort)和计数排序(Counting Sort)都是非比较排序算法。也就是说,它们并不是通过比较元素之间的大小关系来进行排序的。
首先,让我们看看三种排序算法的时间复杂度:
基数排序:O(dn) (d次调用桶排序),空间复杂度 O(k) (稍后详解)
桶排序:O(n)时间复杂度,O(n)空间复杂度
计数排序:O(n)时间复杂度,O(k)空间复杂度,每一个元素都是整数,并且位于0到k - 1之间
基数排序(Radix Sort)、桶排序(Bucket Sort)和计数排序(Counting Sort)都是非比较排序算法。也就是说,它们并不是通过比较元素之间的大小关系来进行排序的。
首先,让我们看看三种排序算法的时间复杂度:
基数排序:O(dn) (d次调用桶排序),空间复杂度 O(k) (稍后详解)
桶排序:O(n)时间复杂度,O(n)空间复杂度
计数排序:O(n)时间复杂度,O(k)空间复杂度,每一个元素都是整数,并且位于0到k - 1之间
Given an unsorted array, find the maximum difference between the successive elements in its sorted form.
Try to solve it in linear time/space.
Return 0 if the array contains less than 2 elements.
You may assume all elements ...