20.二分查找 待我称王封你为后i 2022-02-14 08:01 131阅读 0赞 1.分清指针的边界值意义,采用两种不同的边界值指针进行二分搜索 二分查找适合有序数组的查找,每次与数组的中间元素对比,小的话,左半部分查找,大的话右半部分查找 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NsNzIzNDAx_size_16_color_FFFFFF_t_70][] public class BinarySearch<T extends Comparable> { /** * 二分查找 * @param arr * @param n * @param target * @return */ public int binarySearchTarget(T arr[],int n,T target){ int l=0,r=n-1;//边界设置,[l……r]的范围里找target while(l<=r){//l==r,[l……l]依然有效 int mid=l+(r-l)/2; if(arr[mid].compareTo(target)==0) return mid; else if(target.compareTo(arr[mid])>0){ l=mid+1;//[mid+1,r] } else r=mid-1;//[l,mid-1] } return -1; } public int binarySearchTarget2(T arr[],int n,T target){ int l=0,r=n;//边界设置,[l……r)的范围里找target while(l<r){//l==r,[l……l)无效,[42,43) int mid=l+(r-l)/2; if(arr[mid].compareTo(target)==0) return mid; else if(target.compareTo(arr[mid])>0){ l=mid+1;//[mid+1...r) } else r=mid;//[l,mid) } return -1; } public static void main(String[] args) { int n = new BinarySearch<Integer>().binarySearchTarget(new Integer[]{1,3,4,5,8},5,1); System.out.println(n); } } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NsNzIzNDAx_size_16_color_FFFFFF_t_70]: /images/20220214/765b666c7bd3454d965249e4f1e590c8.png
相关 【HBU】7-1 二分查找 (20分) 题目描述 利用二分查找找出所给出的数在数组中的下标 输入格式: 第一行输入n和m表示数组有n个数据,m表示要对m个数进行查找 输出格式: 所有输出在一行完成,行 川长思鸟来/ 2022年12月30日 15:56/ 0 赞/ 273 阅读
相关 二分查找 二分查找可以说是在经典不过的查找算法了,比如JAVA的库函数里,就有相应的代码实例。如下写出两个版本的二分查找,非递归和递归的 非递归的 public int bi 系统管理员/ 2022年08月06日 16:24/ 0 赞/ 55 阅读
相关 二分查找 //二分查找 /\ 递归算法 int searchB1(int A\[\], int low, int high, int data); 非递归算法 int 绝地灬酷狼/ 2022年05月12日 01:40/ 0 赞/ 45 阅读
相关 查找——二分查找 基本思想 二分查找是建立在有序顺序表基础上的!步骤如下: 1. 将表中间位置记录的关键字与给定K值进行比较,若两者相等,则查找成功。 2. 蔚落/ 2022年03月27日 03:46/ 0 赞/ 375 阅读
相关 20.二分查找 1.分清指针的边界值意义,采用两种不同的边界值指针进行二分搜索 二分查找适合有序数组的查找,每次与数组的中间元素对比,小的话,左半部分查找,大的话右半部分查找 ![wate 待我称王封你为后i/ 2022年02月14日 08:01/ 0 赞/ 132 阅读
相关 二分查找 二分查找(先排序) typedef struct LNode List; struct LNode{ ElemenType Data[MAXSIZ 爱被打了一巴掌/ 2022年02月02日 17:13/ 0 赞/ 126 阅读
相关 二分查找 int search2( int array\[\], int n, int v) \{ int left, right, middle; 心已赠人/ 2021年12月20日 16:07/ 0 赞/ 125 阅读
相关 二分查找 二分查找 二分查找是一个比较简单的算法,用 C++ 语言实现如下: template <typename T> int binary_search( ゞ 浴缸里的玫瑰/ 2021年12月13日 03:57/ 0 赞/ 187 阅读
相关 二分查找 > 一、自己实现的 include<iostream> include<cstdio> include<algorithm> u 左手的ㄟ右手/ 2021年09月21日 17:12/ 0 赞/ 292 阅读
还没有评论,来说两句吧...