可以在 θ(n) 时间内使用基数排序(以及数字的计数排序)对 n 个不同的数字进行排序吗?

问题描述 投票:0回答:1

可以在 θ(n) 时间内使用基数排序(以及数字的计数排序)对 n 个不同的数字进行排序吗?

我会说是的。这是因为基数排序以固定次数处理数字的数字,每次都需要线性时间,导致总时间复杂度为 θ(n) 我做对了吗?如果没有那怎么办?

time-complexity radix-sort counting-sort
1个回答
0
投票

如果输入的domain没有约束,那么:不,时间复杂度是not θ(𝑛)。

你写:

基数排序以固定次数处理数字的数字

通过次数不固定;它是由输入决定的。您预先不知道输入中的数字可能有多少位。除非你对输入进行限制,否则一个数字可能有 100 位、1000 位……这是一个由输入本身决定的变量

正如维基百科 - 基数排序所说:

基数排序的运行时间为 O(𝑛𝑤),其中 𝑛 是键的数量,𝑤 是键的长度。

© www.soinside.com 2019 - 2024. All rights reserved.