全国行业名录搜索系统,南宁seo建站,网店托管代运营公司,网站建设(中企动力)说明#xff1a;二分法查找* 解析#xff1a;* 一维数组#xff0c;二分法查找#xff1a;假如有一组数为1,2,3,4,5,6,7,8,9,10要查给定的值7.* 可设三个变量low#xff0c;mid#xff0c;high分别指向数据的前#xff0c;中间和后#xff0c;mid(lowhigh)/2.* 注意二分法查找* 解析* 一维数组二分法查找假如有一组数为1,2,3,4,5,6,7,8,9,10要查给定的值7.* 可设三个变量lowmidhigh分别指向数据的前中间和后mid(lowhigh)/2.* 注意此序列是已按照递增排序(有序序列是第一步)* 思路:* 1:将low0,值为1;high9,值为10(因为数组下标从0开始);mid(lowhigh)/2,即等于4,值为5(因为整型会省略小数点);* 2:将mid的值与查找的数作比较,如果mid* 如果n* 3:现在的mid等于4,值为5,查找的范围为:5,6,7,8,9,10,显然mid题目* 设有一组关键字序列{5,8,14,20,31,55,78,81,93,97,111}* 使用二分(折半)法查找关键字93需要进行多少次比较代码实现public classBinaryChop {public static voidmain(String[] args) {int params93,number0;int[] binarys{5,8,14,20,31,55,78,81,93,97,111};if(binarys!null binarys.length0){numbergetBinaryChopNums(binarys,params);}System.out.println(比较次数为number);}/*** 二分法*paramdata数组*paramparams查找的数据*returnnumber比较次数*/private static int getBinaryChopNums(int[] data,intparams){int number0,low0,hightdata.length-1,mid0;if(datanull || data.length0){returnnumber;}//二分法实现for (int i 0; i data.length; i) {mid(lowhight)/2;if(hightlow data[mid]!params){ //判断是是否存在查找的参数number0;break;}number1;if(data[mid]params){ //判断是否相等break;}else if(data[mid]lowmid1;}else{ //位于前半部分hightmid-1;}}returnnumber;}}答案2