当前位置: 首页 > 面试题库 >

Java 8:QUICKSORT_THRESHOLD = 286是怎么来的?

沈德寿
2023-03-14
问题内容

在Java 8中,功能Arrays.sort()取决于数组的长度。

if(length>=`QUICKSORT_THRESHOLD=286`){
    take `Dual-Pivot Quicksort`;
}
else if(length<`QUICKSORT_THRESHOLD=286` && length>`INSERTION_SORT_THRESHOLD=47`){
    take `One-Pivot Quicksort
}
else { take `Insertion Sort`}

28647来自何处?


问题答案:

这是基于算法复杂度的计算。

一些关于StackOverflow的信息:
如何优化quicksort

合并排序:https:
//www.khanacademy.org/computing/computer-science/algorithms/merge-
sort/a/analysis-of-merge-sort

快速排序:https:
//www.khanacademy.org/computing/computer-science/algorithms/quick-
sort/a/analysis-of-quicksort



 类似资料:
  • 我目前正在读O'reilly的《Java 8 Lambdas》是一本非常好的书。我遇到了这样一个例子。 我有一个 这会产生正确的输出。 我的问题是将reduce方法视为最后一个参数,即二进制运算符 我的问题是这个参数用于哪个?如果我改变 如果我传递NULL,则输出相同,然后返回N.P.E。 for此参数用于什么? 更新 为什么如果我在上运行它,我会收到不同的结果? 第一次运行。 第二次运行 第三次

  • (这里的问题和我问的不一样,是问为什么我们在使用lambda表达式的同时需要函数接口,我的问题是:除了使用lambda表达式之外,函数接口还有哪些其他用途?)

  • 我的问题是如何使用Completable Future。 我有一个实现Callable的类。 早点用来做—— 这将返回

  • 我发现Java 8没有与ZonedDateTime等价的功能,而是只与时间(ZonedTime类或类似的东西)一起工作。我知道他们包括OffsetTime类,但它只存储偏移量。 将时区与日期和时间一起存储,而不仅仅是存储偏移量,有助于更轻松地处理夏令时。 我不是要你给我选择,我知道有很多方法;我只是想知道为什么这样的类不包括在内,这是一个设计问题吗?或者他们只是发现它是多余的?

  • 我需要自定义web应用程序,无论它是在笔记本电脑还是手机上使用,发现ios或android检测,所以如果我只是这样做,它会工作吗 下面的解决方案解决方案给了我一个错误,但是这个包帮助了我: https://pub.dev/packages/universal_io 或者