gpt4 book ai didi

algorithm - 在 O(n) 时间内对从 0...n 到 n 位的整数数组进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:53:09 27 4
gpt4 key购买 nike

我正在尝试创建一种可以在 O(N) 时间内对整数数组进行排序的算法。

  • 所有整数的位数是N
  • 每个元素的位数未知
  • 无论数字如何分布,算法都应该在 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)

我不确定如何进行归纳步骤(如果需要的话)。

最佳答案

下面的截图解释了它:

screenshot

关于algorithm - 在 O(n) 时间内对从 0...n 到 n 位的整数数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082868/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com