二分法查找
来源:互联网 发布:zigbee协议栈编程 编辑:程序博客网 时间:2024/06/06 21:43
简介: 使用二分法的前提条件为此数组已经做好排序。在二分搜寻法中,从数列的中间开始搜寻,如果这个数小于我们所搜寻的数, 由于数列已排序,则该数左边的数一定都小于要搜寻的对象,所以无需浪费时间在左边的数;如果搜寻的数大于所搜寻的对象, 则右边的数无需再搜寻,直接搜寻左边的数。 /** * @param nums 待查找数组 * @num 待查找数 */ public static int search(int[] nums, int num) { int low = 0; int high = nums.length - 1; while (low <= high) { int mid = (low + high) / 2; if (num > nums[mid]) { low = mid + 1; } else if (num < nums[mid]) { high = mid - 1; } else { return mid; } } return -1; } /** * 二分查找(循环法) * * @param arr * @param n * @param low * @param high * @return */ public static int search1(int[] arr, int n, int low, int high) { int mid = (low + high) / 2; if (n > arr[high] || n < arr[low]) { return -1; } if (n > arr[mid]) { return search1(arr, n, mid + 1, high); } if (arr[mid] > n) { return search1(arr, n, low, mid - 1); } return mid; }
阅读全文
0 0
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- 二分法查找
- CTP Python API(利用Swig 封装)Windows版(traderapi)
- hdu6081--度度熊的王国战略(百度之星资格赛)
- SpringMVC @RequestBody问题:Unrecognized field , not marked as ignorable
- hdu 6143 Killer Names (2017多校第八场)
- 利用多线程和信号量,互斥量实现的经典的生产者与消费者模型
- 二分法查找
- android__shape 圆角矩形 圆环画法
- 单链表逆转、字符串按单词逆转
- Java 并发基础
- 实现一个clone函数并可以对js中的5种主要数据类型进行值复制
- 线段树基础与模板与简单应用
- Cow Acrobats
- qt+ffmpeg仿格式工厂
- 借助AMD来解决HTML5游戏开发中的痛点