二分查找
来源:互联网 发布:软件模块化设计缺点 编辑:程序博客网 时间:2024/06/06 09:42
二分查找又称为折半查找
优点:比较的次数少,查找的速度快,平均性能好
缺点:要求待查表示有序的,而且插入删除困难。因此折半查找方法不适合于经常变动的而查找频繁的有序表。
二分查找首先要求数据是有序的,同时要求能随机访问数据元素, 有序数组可以, 链表不行,二分查找因为每次都是从中间点开始查找,所以最坏情况是目标元素存在于最边缘的情况。最坏为O(LogN)
package dong.test;public class BinarySearch { public static int Search(int arr[],int des){ int low = 0; int high = arr.length - 1; while((low<=high)&&(low<=arr.length-1)&&(high<=arr.length-1)){ //int middle = (low+high)/2; // 防止极端情况下的整形溢出,使用下面的逻辑求出mid int mid = low +(high-low)/2; if(arr[middle]==des){ return middle; }else if(des < arr[middle]){ high = middle -1; }else{ low = middle +1; } } return 0; } public static void main(String[] args){ int arr[] = {4,4,4,5,6,7,8}; int result = Search(arr,4); System.out.println("查找元素所在的下标是:"+result); }}
阅读全文
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 小型的js添加留言
- 存储一万亿张图片,需要怎样的架构?
- 2017.09.08
- oracle查看允许的最大连接数和当前连接数
- JSON字符串和java对象的互转【json-lib】
- 二分查找
- 《分布式计算、云计算与大数据》笔记
- matrix67文章学习
- (五)整合spring cloud云服务架构
- Python探索之路(二)---输出
- 【文档】五、Mysql Binlog事件结构
- MySQL/MariaDB
- Linux 无进程显存占用问题
- Swarm的进化和大规模应用