【发布时间】:2020-07-08 11:29:13
【问题描述】:
长数组(long[] arr)和长数组(Long[] arr)有区别吗?
排序复杂度一样吗?
【问题讨论】:
标签: java arrays algorithm sorting math
长数组(long[] arr)和长数组(Long[] arr)有区别吗?
排序复杂度一样吗?
【问题讨论】:
标签: java arrays algorithm sorting math
使用Arrays.sort 对long[] 和Long[] 进行排序将涉及不同的排序算法:long[] 使用“双轴快速排序”排序,而 Long[] 使用“tim 排序”排序(一个版本合并排序)。它们将具有相同的O(n log n) 渐近时间复杂度,但常数乘数 可能不同。对基元和基元数组(如 long[])的操作通常比对包装对象的操作更有效。
【讨论】:
Long[] 是一个对象数组,而long[] 是一个基元数组。两者的排序复杂度相同,但通过将基元包装到对象中,会引入额外的内存开销。
【讨论】: