二分查找的时间复杂度为 O(log(n))。线性搜索(即迭代整个数组)需要 O(n) 时间。无论何时何地,使用二分搜索 都会带来巨大的好处。
一般来说,您应该使用二分搜索的情况是当您保证所拥有的数据已排序并且高于某个最小数量时(因为如果您搜索 5 个项目,您不会注意到太多性能提升)使用线性或二分搜索)。
但是,请注意,它Arrays#binarySearch
仅适用于数组,而不适用ArrayList
- 这些是根本不同的对象。如果您想对集合进行二分搜索List
,请使用Collections#binarySearch()
.
归档时间: |
|
查看次数: |
3066 次 |
最近记录: |