我正在尝试创建一个可以在O(N)时间内对整数数组进行排序的算法。
我有一个解决这个问题的工作方案,在O(N)时间运行,我只是在试图证明它是这样做时遇到了麻烦。
Create a set of N buckets and add items to their corresponding bucket based off how
many digits are in the integer -O(N)
Radix sort each bucket, and then concatenate the buckets back together.
Sum k=0 to N of O(k*n)
k = Number of digits
n = number of items with k digits
我提出的解决方案是∑k*∑n
将始终等于N。
尝试提供证据
Base case: Array has 1 item.
T(N)= k*1. k=N = O(N)
我不确定如何进行归纳步骤(如果需要的话)。
答案 0 :(得分:2)
以下屏幕截图解释了它: