【问题标题】:the best sort 2D double arrays in javajava中最好的排序二维双数组
【发布时间】:2016-03-31 17:02:12
【问题描述】:

我目前正在尝试将二维数组排序为升序使用选择排序。但结果并不好。 我实际上有一个相当大的数据,比如 双数组[1000][1000] 但如果我们使用这样的数据示例:

arrays = 10.555   1.023    5.852          
         8.856    1.001    4.483
         1.121    5.321    1.184
         5.123    0.834    3.151
         15.123   7.123    1.152

如何制作一个二维数组可以像这样排序,并且可以采用之前没有排序的索引。 数组排序后:

arrays = 1.121   0.834   1.152   
         5.123   1.001   1.184
         8.856   1.023   3.151
         10.555  5.321   4.483
         15.123  7.123   5.852

并且可以像这样在二维数组中保存索引。

save_index = 2  3  4
             3  1  2
             1  0  3
             0  2  1
             4  4  0

我希望这段代码可以在像双数组[1000][1000] 这样的大型数据集中使用。有什么解决办法?

【问题讨论】:

  • 所以您要单独对每一列进行排序?转置数组(切换行和列)并使用 Java 为您排序是最简单的。

标签: java arrays sorting multidimensional-array double


【解决方案1】:

好的,看起来您想分别对每一列进行排序,所以如果我的假设是正确的,那么下面的答案就是。 为了解决这样的问题,我不会使用选择排序。我会使用插入排序(因为它更快)并且有几个嵌套循环只会遍历某些列。 (例如,循环第一次运行时,只通过第一列,第二次运行,只通过第二列)。

【讨论】:

    【解决方案2】:

    文献中接受了几种排序算法。最快的之一是“快速排序”,它具有令人满意的最差和平均情况性能。所以你最好检查一下,而不是尝试实现更有效的算法。你可以看看here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多