Qingjian 2008-11-21 12:14
浏览 245
已采纳

请教一个关于算法的问题!

如何高效的将一个数组进行 值范围的划分?

比如: 有个 数组长度 10000,a[] 并且是10000个随机正数。

现在有另外四个数组或容器分别  b,c,d,e ;

b 存放5-100的值

c 存放 500-3000的值

d 存放 4000-6000的值

e 存放 其他(不上以上三个范围的值)。



有什么高效的 算法?

先谢谢了。 我自己的想法 先对 数组a 进行排序使用java 的arrays.sort 的方法排序 然后再用 折半算法 去找范围。想问问大家还有什么其他好的算法?
问题补充

luogui551 写道
难道一个for,外加一个if,两个else if,一个else?


如果 a中的记录有很多 如果100000条 放在 80个划分范围容器里。 对个数组中的对象 要比较80次,100000个对象就要 比较判断 80*100000 效率太低了!
  • 写回答

5条回答 默认 最新

  • iteye_19016 2008-11-25 10:04
    关注

    这个应该是最高效率的了 你自己在控制台测试就知道 分给我吧。我等分问问题!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大