对2D阵列进行排序或排序1D +线性搜索。

时间:2012-09-04 05:41:42

标签: java arrays performance search sorting

只是一个简单的问题。

哪种选择会更有效率?

  1. 对2D数组进行排序(数组第一维中的每个值都链接到第二维中的值,因此必须对它们进行相同的排序[值和ID号])。
    1. 对1D数组进行排序,然后将(使用线性搜索)值与另一组值进行比较,以检查它们是否匹配(以便找到与每个值对应的ID号)。
    2. 所有值都保证不同,因此重复数字没有问题。即使有,也没关系。

      有没有办法找出调试器中两种方法的效率如何?

      谢谢大家的时间。 =]

      的Seb

1 个答案:

答案 0 :(得分:0)

我认为在使用比较器的帮助下使用2D数组排序技术会更有效率。在这种技术中,对于每个2D阵列,阵列只需一个比较单位进行排序,在第二种方法中,您首先对1D阵列进行排序,然后再次搜索以映射相关值。

示例:sorting 2D array of String in java

您可以通过在排序之前和之后两种方法的排序之后打印时间戳来尝试排序自己所需的时间。