网站做支付借口多少钱,网站制作公司 全贵州,手机网站宽度多少合适,深圳工厂网站建设公司1、二分法
1.1 二分法原理 每次将查找的范围缩小一半#xff0c;直到最后找到记录或者找不到记录返回。 要求#xff1a;采用二分法查找时#xff0c;数据需是排好序的。
1.2二分法思路 判断某个数是否在数组中存在#xff08;例#xff1a;判断3是否在数组中存在#…1、二分法
1.1 二分法原理 每次将查找的范围缩小一半直到最后找到记录或者找不到记录返回。 要求采用二分法查找时数据需是排好序的。
1.2二分法思路 判断某个数是否在数组中存在例判断3是否在数组中存在 (1)对于排好序的数组进行第一轮分半找到第4个位置 (2) 3比4小因此向左边查找进行第二轮分半找到第2个位置 (3)3比2大因此向右边查找进行第三轮分半但只有1个位置了因此直接判断数据是否是3结束查找。 2、算法分析
2.1逻辑分析 由于其对半分的规则如果所需要的结果刚好在中间位置则一次获取结果 如果其
2.2 时间复杂度 由于其操作方法为每次对半处理其时间复杂度为 3、code
3.1 java
public static boolean exist(int[] arr, int target) {if(arr null || arr.length 0){return false;}int left 0;int right arr.length - 1;int mid;while (left right) {mid left ((right - left) 1);if (arr[mid] target) {return true;} else if (arr[mid] target) {right mid - 1;} else {left mid 1;}}return arr[left] target;}
3.2 python
def exist(arr, target):if arr is None or len(arr) 0:return Falsel 0r len(arr) - 1while l r:mid l ((r - l) 1)if arr[mid] target:return Trueelif arr[mid] target:r mid - 1else:l mid 1return arr[r] target