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

深圳市官网网站建设哪家好/免费seo搜索优化

深圳市官网网站建设哪家好,免费seo搜索优化,四川省查询建设人员注册证书网站,外贸做消防的网站这篇文章主要介绍了Java二分查找算法实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下二分查找:两种方式:非递归方式和递归方式主要思路:对于已排序的数组(先假定是从小到大排序), 先定义两个"指…

这篇文章主要介绍了Java二分查找算法实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

二分查找:

两种方式:非递归方式和递归方式

主要思路:对于已排序的数组(先假定是从小到大排序), 先定义两个"指针", 一个"指向"首元素low, 一个"指向"末尾元素high. 然后, 开始折半比较, 即让要查找的数与数组中间的元素(索引为 low+high/2)比较. 若要查找的数比中间数小, 说明要查找的数在数组左侧(注意前提是数组从小到大排序), 否则说明该数在数组的右侧. 如果low最后还比high大,俩"指针"交叉了, 说明没有找到该数, 即数组不存在该数.

注意事项:排序规则与数组的排序顺序有关, 即从大到小排序和从小到大排序是不一样的!!!

代码如下

class BinarySearch {

// 二分查找非递归方式

// arr 给定已排序数组

// num 要查找的数

public static int search(int[] arr, int num) {

int low = 0;

int high = arr.length - 1;

int mid = 0;

while (low <= high) {

mid = (low + high) / 2;

if (num < arr[mid]) {

high = mid - 1;

}

if (num > arr[mid]) {

low = mid + 1;

}

if (num == arr[mid]) {

return mid;

}

}

return -1; // 没找到

}

// 二分查找递归方式

// arr 给定已排序数组

// num 要查找的数

// low 初始左侧指针 指向第一个元素

// high 初始末尾指针 指向最后一个元素

public static int binarySearch(int[] arr, int num, int low, int high) {

int mid = (low + high) / 2;

// 递归结束条件

if (low > high) {

return -1;

}

if (num < arr[mid]) {

return binarySearch(arr, num, low, mid - 1);

} else if (num == arr[mid]) {

return mid;

} else {

return binarySearch(arr, num, mid + 1, high);

}

}

public static void main(String[] args) {

// 给定数组 从小到大排序.

int[] arr = {2, 3, 5, 7, 8, 9, 11, 12, 15};

// int[] arr = {15, 12, 11, 9, 8, 7, 5, 3, 2};

int m = 3;

// int index = search(arr, m);

int index = binarySearch(arr, m, 0, arr.length - 1);

System.out.println(index);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

http://www.lbrq.cn/news/833419.html

相关文章:

  • 长春做企业网站多少钱/免费发布信息网站大全
  • 哪个网站做兼职可靠/淘宝引流推广怎么做
  • 长沙seo网站排名/赣州seo优化
  • 恶意网站的防治/关键词在线优化
  • 太原网站建设制作/互联网销售是什么意思
  • dedecms5.7 整个网站 css和js代码怎么优化/精准粉丝引流推广
  • wordpress访问加速/seo优化几个关键词
  • 网站办理8元套餐/站内推广方案
  • 做拆分盘网站/沈阳网络优化培训
  • 2014 网站建设/手机百度搜索引擎入口
  • 泰兴网站制作/下载百度app到手机上
  • 商标被注册了做网站/购物网站制作
  • 优化网站的步骤/seo链接优化建议
  • 做网站所需知识/百度app免费下载
  • 司法局网站建设/百度推广怎么优化关键词的质量
  • 江苏港口建设费申报网站/学习软件
  • 湖南做网站 联系磐石网络/企业推广是做什么的
  • 网站地图在线生成/seo专业术语
  • 佛山网站建设网络推广/易推广
  • 互联网公司怎么盈利/购买seo关键词排名优化官网
  • 惠州网络营销公司/seo和sem的区别
  • wordpress获取所有标签/seo网站优化外包
  • 网站建设毕业设计选题/seo百度站长工具查询
  • 公司做网站报价/百度站长app
  • 北京网站建设优化学校/网络营销运营推广
  • 网站建设思企互联/百度公司在哪里
  • 连云建网站公司/简述企业网站如何推广
  • 经典wordpress网站/下载百度官方网站
  • 网站布局教程/google app下载
  • 如何将自己做网站放上网/山东seo推广公司
  • Spring学习笔记:Spring SPEL表达式语言深入的学习和使用
  • [论文阅读] 人工智能 + 软件工程 | 单会话方法论:一种以人类为中心的人工智能辅助软件开发协议
  • 大数据时代下的时序数据库选型指南:基于工业场景的IoTDB技术优势与适用性研究
  • Nestjs框架: 基于TypeORM的多租户功能集成
  • 详解SPFA算法-单源最短路径求解
  • 力扣面试150(31/150)