当前位置: 首页 > news >正文

泉州网站制作网页尉氏做网站

泉州网站制作网页,尉氏做网站,博星卓越电子商务网站建设实训平台,观影楼网站文章目录 Java实现二分法的案例#xff0c;什么是二分法二分法实现 Java实现二分法的案例#xff0c;什么是二分法 二分法 概念#xff1a; 二分法#xff08;Bisection method#xff09; 即一分为二的方法#xff0c;又叫折半查找方法。把一组有序数列分为左右两部分… 文章目录 Java实现二分法的案例什么是二分法二分法实现 Java实现二分法的案例什么是二分法 二分法 概念 二分法Bisection method 即一分为二的方法又叫折半查找方法。把一组有序数列分为左右两部分从这组数字的中间位置开始找如果中间位置的数等于目标数则直接返回如果中间位置的数大于目标数则从左边部分查找如果小于目标数则从右边部分查找重复以上过程直到找到满足条件的记录使查找成功。 时间复杂度 都是 O(log2 N) 空间复杂度 非递归方式 空间复杂度是O(1); 递归方式 空间复杂度O(log2N ) 实现 1. 递归方式 public static int binarySearchRecursive(int[] arr, int low, int high, int key) {//边界条件如果目标数没有在数组范围内即比最左边的数小比最右边的数大if (arr null || arr.length 0 || arr[low] key || arr[high] key || low high) {return -1;}// 获取中间位置下标int mid (low high) / 2;// 将中间位置的数和目标数作比较如果中间位置的数等于目标数则直接返回下标// 如果中间位置的数大于目标数则将左边部分用递归方法继续查找如果小于目标数则从右边部分用递归方法继续查找if (arr[mid] key) {return mid;} else if (arr[mid] key) {return binarySearch(arr, low, mid - 1, key);} else {return binarySearch(arr, mid 1, high, key);}}// 测试下从一组数中找3输出数组下标public static void main(String[] args) {int[] arr {2, 3, 5, 7, 9, 78, 90, 167};System.out.println(binarySearchRecursive(arr, 0, (arr.length) - 1, 3));} 2. 非递归方式 public static int binarySearch(int[] arr, int key) {int low 0;int high arr.length - 1;while (low high) {int middle (low high) / 2;if (key arr[middle]) {high middle - 1;} else if (key arr[middle]) {low middle 1;} else {return middle;}}return -1;}// 测试下从一组数中找3输出数组下标public static void main(String[] args) {int[] arr {2, 3, 5, 7, 9, 78, 90, 167};System.out.println(数组下标binarySearch(arr, 3));} 3.非递归 /*** 二分查找* param srcArray 源数组* param des 目标元素* return 如果找到则返回索引位置找不到则返回-1*/ public static int binarySearch(int[] srcArray, int des) {//定义初始最小、最大索引int start 0;int end srcArray.length - 1;//确保不会出现重复查找越界while (start end) {//计算出中间索引值 逻辑右移 也就是 int middle (end start)/2int middle (end start)1 ;//防止溢出if (des srcArray[middle]) {return middle;//判断下限} else if (des srcArray[middle]) {end middle - 1;//判断上限} else {start middle 1;}}//若没有则返回-1return -1; }
http://www.zqtcl.cn/news/953659/

相关文章:

  • 网站可视化设计企业网络管理系统
  • 优惠券怎做网站南宁网站公司
  • 灌南县规划局网站理想嘉苑规划建设那些公司做网站好
  • 大型网站开发的主流语言wordpress 连接flickr
  • 制作一个网站流程怎样做网站运营
  • 可以完成交易的网站 做微信公众号电商网站开发
  • 上海市建设安全协会官方网站机械加工怎么找客户
  • 郑州驾校网站建设互联网公司可通过数据分析人们的哪些方面
  • 珠海杰作网站建设网络公司做一个关于电影的网页设计
  • 电子商务网站建设需要哪些步骤网站开发维护合同书
  • 顺德网站设计成都网站优化方式
  • 宁波建网站哪家好用点网站后台 更新缓存
  • 如何推广网站链接做旅游网站的目的
  • 网站规划与设计课程设计中企动力网站建设 长春
  • 最新网站建设哪家公司好wordpress 顶部图片
  • 有什么网站可以做一起作业公司简介优秀文案
  • 太仓住房和城乡建设局网站seo网页推广
  • 网络公司 网站源码网页源代码修改了影响别人吗
  • 网站后台是怎样制作的app开发公司排行榜做软件的公司
  • 有专门做网站的公司吗西安分类信息seo公司
  • 重庆璧山网站制作公司哪家专业商城网站建设 优帮云
  • 双语网站建设费用安徽省芜湖建设定额网站
  • 常州市城乡建设局网站wordpress 阿里云cdn
  • 福州制作网站设计哪里比较好百度网址大全官方网站
  • 一般做美食网站的产品需求我想做个网站
  • 成品网站制作公司应用公园是免费的吗
  • 做毕业网站的流程网站建设价格一览表
  • 企业服务网站开发做网站怎样建立服务器
  • 电子商务他们的代表网站360免费wifi官网
  • 网站后端开发软件cc域名做门户网站