Java基础算法-查找-二分查找
时间复杂度
怎么说呢。二分查找优缺点都是很明显的:
优点:就是查找的平均性能高,事件复杂度只有O(log(n))。但是缺点他也是
非常明显的,被查找的数组必须是有序的。
所以他最好是用于不经常变动但是查找频繁的数组
实现原理
在我的理解中:
1.拿要找的数与数组的中间数做比较,如果数组中的数大于就取0,到中值为新数组,否则则是(mid,last)作为新数组
2.拿新数组重复1步骤
3.重复1,2步骤直到找到那个值
代码实现
|
|
这样就是一个简单的实现了。
怎么说呢。二分查找优缺点都是很明显的:
优点:就是查找的平均性能高,事件复杂度只有O(log(n))。但是缺点他也是
非常明显的,被查找的数组必须是有序的。
所以他最好是用于不经常变动但是查找频繁的数组
在我的理解中:
1.拿要找的数与数组的中间数做比较,如果数组中的数大于就取0,到中值为新数组,否则则是(mid,last)作为新数组
2.拿新数组重复1步骤
3.重复1,2步骤直到找到那个值
|
|
这样就是一个简单的实现了。