关系型数据库 5000个数中找出10个最大的,用哪种排序算法比较好?
5000个数中找出10个最大的,用哪种排序算法比较好?该问题的最优时间复杂度为O(n)。所以如果一定要使用排序算法,如果标题条件允许,请尽量选择o(n)排序算法如bucket排序。另一种解决方案是构建
5000个数中找出10个最大的,用哪种排序算法比较好?
该问题的最优时间复杂度为O(n)。所以如果一定要使用排序算法,如果标题条件允许,请尽量选择o(n)排序算法如bucket排序。另一种解决方案是构建一个大小为10的堆,按顺序遍历数组,并在堆满时移除最上面的元素。这样,最多可获得10个元素。时间复杂度为O(nlog10)。