java中二分查找的总结
2014-07-14 10:29
260 查看
菜鸟对BinarySearch(二分查找)的总结:
二分查找一般又被称作折半查找
优点是:查找次数比较少,平均性能好
缺点是:
1.要求被查找的数据为有序数组
2.且插入删除操作困难
适用范围:不经常变动且查找操作频繁的有序数组。
代码实现 binarySearch(int[] x, int n) 其中 x为被查找的有序数组,n为被查找的数,返回的mid=-1的话,当前数组中没有n
现在我们用一个case来测试,如下
如上就是一个简单的二分查找实现了
二分查找一般又被称作折半查找
优点是:查找次数比较少,平均性能好
缺点是:
1.要求被查找的数据为有序数组
2.且插入删除操作困难
适用范围:不经常变动且查找操作频繁的有序数组。
代码实现 binarySearch(int[] x, int n) 其中 x为被查找的有序数组,n为被查找的数,返回的mid=-1的话,当前数组中没有n
public static int binarySearch(int[] x, int n){ int start = 0; int mid = -1; int end = x.length - 1; while(start <= end){ mid = (start + end)/2; if(x[mid] == n){ return mid; }else if(x[mid] > n){ end = mid - 1; }else if(x[mid] < n){ start = mid + 1; } }return mid; }
现在我们用一个case来测试,如下
public static void main(String[] args) { int[] nums = {1,2,3,4,5,6,8,11,45,89,102,99,47,66}; Arrays.sort(nums); System.out.println("排后的数组为:"); <span style="white-space:pre"> </span>for(int num : nums) <span style="white-space:pre"> </span> System.out.print(num+ " "); // int index = binarySearch(nums,47); System.out.println("查找到的下标为:"+index); }得出的结果为9.
如上就是一个简单的二分查找实现了
相关文章推荐
- [LeetCode]Search Insert Position (二分查找总结) Java Version
- 算法(第四版) 学习总结三 Java输入输出、二分查找、源代码地址
- [LeetCode] Serch Insert Position (总结二分查找) Java version
- java 自我知识总结(九) 二分查找
- 二分查找递归与非递归总结
- 查找算法总结之顺序查找、二分查找、静态树查找
- Java实现折半查找(二分查找)的递归和非递归算法
- 二分查找的Java实现
- java小练习(13)--二分查找
- java中的数据结构--二分查找
- Java实例14 - 二分查找
- java选择排序和二分查找
- 折半查找(二分查找)Java实现
- Java实现折半查找(二分查找)的递归和非递归算法
- 查找(二):二分查找----<学习总结>
- 算法导论Java实现-二分查找(习题2.3-5)
- 二分查找总结
- java语言实现二分查找数据法
- 查找算法总结之顺序查找、二分查找、静态树查找
- 线性查找与二分查找(java实现)