Radix Sort和Bucket / Bin Sort是否自适应?

问题描述

基数排序和桶分类自适应的排序算法紧密相关吗?

我知道,如果要对要分类的数据进行预分类并且该算法花费的时间最少,那么分类算法就是自适应的。

但是我无法断定Radix和Bucket排序算法是否具有自适应性。

解决方法

如果排序算法利用其输入中的现有顺序,则它属于自适应排序系列。

例如,“插入排序”是一种自适应排序算法,如果输入已经排序,则时间复杂度为 O(n)。

在“Bucket sort(或Bin sort)”和“Radix sort”的情况下,输入顺序没有优势。时间复杂度不会因输入顺序而异。这就是为什么它们不是自适应排序算法。

注意:要了解排序算法是否属于自适应排序系列,您必须考虑实现方法,通过该方法可以根据输入顺序优化时间复杂度。自适应排序通常是通过修改现有的排序算法来实现的。

希望,它有帮助!

资源:

Adaptive Sort details from Wikipedia

Adaptive and Non-Adaptive Sorting Algorithm