Sorting 我需要一个项目,不是合并,快速排序,或堆快速排序
我已经花了一个小时左右的时间寻找上面没有列出的种类。我在其他地方问过,但人们只是以最慢的方式回答。请帮忙。它必须不低于O(n logn)Sorting 我需要一个项目,不是合并,快速排序,或堆快速排序,sorting,big-o,Sorting,Big O,我已经花了一个小时左右的时间寻找上面没有列出的种类。我在其他地方问过,但人们只是以最慢的方式回答。请帮忙。它必须不低于O(n logn) 感谢选择最快的算法对数据进行排序实际上取决于所排序的数据 您可以使用计数排序,它需要O(N+R);其中R是值的范围。因此,元素范围越大,时间越长 或快速排序: 对数据数组进行排序的最快方法是只扫描数据,这将为第一个元素提供N选择,为第二个元素提供N-1选择,依此类推,直到最后一个元素只有1选择。这最终得到一个排序算法,可以在O(N!)中完成N可近似为2^(N*
感谢选择最快的算法对数据进行排序实际上取决于所排序的数据 您可以使用计数排序,它需要
O(N+R)
;其中R
是值的范围。因此,元素范围越大,时间越长
或快速排序:
对数据数组进行排序的最快方法是只扫描数据,这将为第一个元素提供N
选择,为第二个元素提供N-1
选择,依此类推,直到最后一个元素只有1
选择。这最终得到一个排序算法,可以在O(N!)
中完成<代码>N可近似为2^(N*logn)
;因此,在O(N*logn)
中进行快速排序
不存在比O(N*logn)
更快的排序算法
加快排序的一个技巧是使用无限多的处理器,这可以将时间复杂度降低到0(logn)
,但是对于大型N
,您可以看到这是多么不实用
或者可以使用并行工作的logn
处理器将时间复杂度提高到O(N)
。但同样,并行处理更像是一种技巧。算法本身没有压缩到O(N)