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

宜昌网站制作网站开发vsc网站开发公司

宜昌网站制作,网站开发vsc网站开发公司,无印良品官方网络商城,如何上传ftp网站程序1.初次相识 二分查找又称折半查找#xff0c;是一种在有序数组中查找特定元素的算法。二分查找的基本思想是#xff1a;通过不断地二分数组的中间元素#xff0c;缩小查找区间#xff0c;直到找到目标元素或者确定目标元素不存在为止。 二分查找的时间复杂度为O(logn)…1.初次相识 二分查找又称折半查找是一种在有序数组中查找特定元素的算法。二分查找的基本思想是通过不断地二分数组的中间元素缩小查找区间直到找到目标元素或者确定目标元素不存在为止。 二分查找的时间复杂度为O(logn)比线性查找的时间复杂度O(n)要小很多但是二分查找的前提是必须在有序数组中进行。 2.思想分析  1.确定该数组的中间下标 middle(leftright)/22.需要查找的数index和array【middle】比较2.1 index array【middle】说明要查找的数在middle的右边递归向右查找2.2 index  array【middle】说明要查找的数在 middle的左边递归向左查找2.3 index array【middle】说明找到返回什么时候递归结束1.找到就结束2.递归完整个数组未找到也许结束条件: lift rigtht 3.代码实现  public static int binarySearch(int[] arr, int left, int right, int index) {//直接结束递归if (left right) {return -1;}int middle (left right) / 2;int middleVal arr[middle];if (index middleVal) {return binarySearch(arr, middle 1, right, index);} else if (index middleVal) {return binarySearch(arr, left, middle - 1, index);} else {return middle;}} 发现一个问题如果有重复数字也只能返回第一数字的下标 4.代码优化  思路: 1.再找到middle时不要立马返回2.向middle索引的左边扫描将满足条件元素的下标加入到ArrayList集合3.向middle索引的右边扫描将满足条件元素的下标加入到ArrayList集合4.将ArrayList返回 public static ArrayListInteger binarySearch(int[] arr, int left, int right, int index) {//直接结束递归if (left right) {return new ArrayListInteger();}int middle (left right) / 2;int middleVal arr[middle];if (index middleVal) {return binarySearch(arr, middle 1, right, index);} else if (index middleVal) {return binarySearch(arr, left, middle - 1, index);} else {ArrayListInteger list new ArrayList();int temp middle - 1;//向左边查找的第一个元素while (true) {if (temp 0 || arr[temp] ! middleVal) {//退出条件break;}list.add(temp);//找到放进集合temp--;//temp左移}list.add(middle);//中间的放进去temp middle 1;while (true) {if (temp arr.length - 1 || arr[temp] ! middleVal) {break;}list.add(temp);temp;}return list;}} 5.测试一把  public static void main(String[] args) {int[] array new int[]{1, 2, 3, 4, 5, 6, 6};Scanner scanner new Scanner(System.in);System.out.println(请输入你要查找的数字:);int num scanner.nextInt();ArrayListInteger lists binarySearch(array, 0, array.length - 1, num);System.out.println(你查找的数字: num ,下标: lists);}
http://www.zqtcl.cn/news/960566/

相关文章:

  • 燕郊做网站的公司seo快速优化
  • 建了网站却搜不出来设计网站室内
  • 网站运营维护新闻摘抄大全
  • 怎么优化网站的单个关键词排名wordpress 安装百度编辑器
  • led网站建设方案模板做炒作的网站
  • 注册网站免费注册qq邮箱seo服务销售招聘
  • 翻译做网站php做网站好学吗
  • 网站模板 seo响应式网站内容布局
  • 石家庄住房和城乡建设部网站企业自助建站系统怎么建
  • 建设企业网站都需要啥网站开发 自我评价
  • 购物网站主页怎么做网站建设的优势何江
  • 宿州网站建设多少钱广西壮族自治区医保网上服务大厅
  • 宾馆酒店 网站模板wordpress手动获取相关文章
  • 荆州网站开发在线推广网站的方法
  • 可以查企业的网站网站建设的外国文献
  • 什么网站可以做相册视频企业网站开发时间
  • 德州市建设小学网站精品网站建设费用
  • 云主机可以做几个网站wordpress 自动发布
  • python网站开发简单吗小程序开发定制北京公司
  • 做网站什么都不懂 怎么做wordpress10款音乐插件
  • 何使网站的页面结构更为合理建用vs2013做网站案例
  • 帮人做空间网站怎么赚钱静态网站怎么维护
  • 3d网站带后台下载深圳建站公司设计深业集团
  • 上海人才中心网站电脑培训班
  • 桂林网站建设服务电话网页开发基础
  • 企业型网站建设策划网站案例模板
  • 怎么做产品网站wordpress ajax form
  • 智能建站设计开发电子商务网站的主流语言
  • 大型建站公司是干嘛的北京最富裕的三个区
  • 深圳网站建设设计公司苏州营销网站建设公司排名