如何高效实现把数组按照指定的顺序排列

 我来答
司马刀剑
高粉答主

2017-11-14 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7102万
展开全部
顺序的4w条最小值跟最大值都 与另一组的4w条最大值最小值有关系么?
没关系那么这个数组可以说只有4w条是有序的,剩下的16w条对于某些算法来说是完全乱序的

对于你这种情况 ,用现成的排序算法都不能达到最高效率

本人认为的最高效算法应该是这样的:(就地排序几乎无法高校实现)

把一个有序的4w条数据复制到一个内存空间足够的缓冲区上
然后遍历第二个4w条有序数组,插入到第一个数组中,因为第二个数组是有序的,即保证了要插入的数据肯定在在后面的,所以保存第一个数组的索引可以递增而不需要从头开始寻找要插入哪里(插入排序的一种思路,对插入排序根据现行条件的一种优化)

依次做下去就好了

PS:如果java能在1s内完成,我估计C写的然后用我这个算法5ms就搞定了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式