搜索资源列表
countsort
- 计数排序是一个非基于比较的线性时间排序算法。它对输入的数据有附加的限制条件: 1、输入的线性表的元素属于有限偏序集S; 2、设输入的线性表的长度为n,|S|=k(表示集合S中元素的总数目为k),则k=O(n)。 在这两个条件下,计数排序的复杂性为O(n)。 计数排序算法的基本思想是对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数。一旦有了这个信息,就可以将x直接存放到最终的输出序列的正确位置上。例如,如果输入序列中只有17个元素
3
- 根据题目可分析:假设主管道位于所有管道的东侧(或是西侧),则测得个油井到主管道之间的输油管道总长度为sum1,若主管道的位置位于所有管道纵坐标的中位值,其输油管道总长度为sum2。由此可推算出sum1>=sum2。因此我采用第二个思路,进而将问题转化为求n个数中第k大数是什么的问题。 总的输油管道长度可通过每个输油管道的纵坐标减中位值得到,最后即可解决问题。 根据题目要求,需在线性时间内确定主管道的最优位置。在排序算法中,最优的便是快速排序,而根据题目要求,我们又不需要将所有n