http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.html
Sun没有提到二进制搜索实现的任何复杂性。这是一个错误吗?我知道应该是O(logn)
,但是当他们没有明确说明时,这使我感到紧张。他们为某些算法做事,例如Arrays.sort。
你们中的任何人对实际实施情况不了解吗?我自己还没有机会下载源代码!我猜这是一个微不足道的二进制搜索,但是Sun有时会调整算法以提高性能。
最佳答案
java.util.Array
的实现非常简单,没有优化的余地。
您可以在JAVA_HOME/src.zip
中找到源代码。
此类中的排序算法是使用二进制搜索所必需的,它是一种优化的快速排序方法,可提供n * log(n)性能(在许多数据集上)。