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

网站开发 书百度网站优化

网站开发 书,百度网站优化,江西建设厅教育网站,开发公司设计管理部绩效考核二分法查找,也称作二分查找或折半查找,是一种在有序数组中快速查找特定元素的算法。它采用分治法思想,通过将问题划分为规模更小的子问题,并且通过对子问题的查找来解决原问题。 二分法查找的思路是不断地将数组一分为二&#xf…

二分法查找,也称作二分查找折半查找,是一种在有序数组中快速查找特定元素的算法。它采用分治法思想,通过将问题划分为规模更小的子问题,并且通过对子问题的查找来解决原问题。

二分法查找的思路是不断地将数组一分为二,然后判断目标值在哪一部分,进而在该部分继续进行二分查找。具体步骤如下:

  1. 首先,设置左边界 left 为0,右边界 right 为数组的长度减1。
  2. 然后,计算中间值 mid 为左边界与右边界的平均值,并取整。
  3. 接着,比较中间值 arr[mid] 与目标值 target 的大小。如果相等,则返回索引 mid
  4. 如果 arr[mid] 大于 target,说明目标值在左半部分,将右边界 right 更新为 mid-1
  5. 如果 arr[mid] 小于 target,说明目标值在右半部分,将左边界 left 更新为 mid+1
  6. 重复步骤2至5,直到左边界大于右边界,表示数组中无目标值,返回-1。
开始
初始化左指针l和右指针r
判断l是否大于r
找到目标值
判断中间值是否等于目标值
找到目标值
判断中间值是否大于目标值
在左半部分继续查找
在右半部分继续查找

说明:

  • 开始时,初始化左指针l指向数组的首元素,右指针r指向数组的尾元素。
  • 判断左指针l是否大于右指针r,如果是则表示没有找到目标值,结束查找。
  • 每次都取左指针l和右指针r中间的元素作为中间值。
  • 判断中间值是否等于目标值,如果是则表示找到目标值,结束查找。
  • 如果中间值大于目标值,说明目标值在左半部分,更新右指针r为中间值的前一个位置,继续查找。
  • 如果中间值小于目标值,说明目标值在右半部分,更新左指针l为中间值的后一个位置,继续查找。
  • 继续进行以上步骤,直到找到目标值或者确定没有目标值。

示例代码:

function binarySearch(arr, target) {let left = 0; // 定义左边界指针为数组的起始位置let right = arr.length - 1; // 定义右边界指针为数组的末尾位置while (left <= right) { // 当左边界指针小于等于右边界指针时执行循环let mid = Math.floor((left + right) / 2); // 计算中间元素的位置,向下取整if (arr[mid] === target) { // 如果中间元素等于目标值return mid; // 返回中间元素的位置} else if (arr[mid] < target) { // 如果中间元素小于目标值left = mid + 1; // 移动左边界指针到中间元素的下一个位置} else { // 如果中间元素大于目标值right = mid - 1; // 移动右边界指针到中间元素的前一个位置}}return -1; // 如果循环结束仍未找到目标值,则返回-1
}// 示例使用
let arr = [1, 3, 5, 7, 9];
let target = 5;let result = binarySearch(arr, target);
console.log(result); // 输出 2

在上面的示例中,提供了一个有序数组 arr 和目标值 target,然后调用 binarySearch 函数进行二分查找。最后输出的结果为目标值在数组中的索引,如果不存在则返回-1。

左边界指针右边界指针中间元素位置中间元素值目标值结果
042552
http://www.khdw.cn/news/58422.html

相关文章:

  • 道士召唤10个月灵的传奇手游首页排名关键词优化
  • 完成网站的建设工作线上营销手段
  • 深圳网站制作的公司个人接外包的网站
  • 国家建设材料检测网站手机怎么做网站
  • 织梦网站修改教程视频百度关键词推广条件
  • wordpress xml文件汕头网站优化
  • 柳州网站建设源码网站快速排名公司
  • 廊坊企业网站服务竞价服务托管价格
  • php做网站需要数据库吗关键词搜索神器
  • 网站 vps百度搜索优化平台
  • 烟台怎么做网站广州seo公司品牌
  • 中文儿童网站模板国内永久免费建站
  • 怎么做网站地图北京网站seo优化推广
  • 金坛做网站公司seo搜索引擎优化原理
  • 东营房产网百度seo技术
  • 北京疫情死亡人员名单保定百度seo排名
  • 网站如何知道是谁做的呢关键词生成器 在线
  • 网站引导页怎么做.互联网
  • 网站设计网页主页介绍千锋教育可靠吗
  • 做兼职去什么网站seo优化关键词分类
  • 购物网站的排版搜索引擎优化是做什么的
  • 钟祥网站建设怎样免费建立自己的网站
  • 广东的一起(17)做网站北京seo做排名
  • 做网页链接seo自然排名优化
  • 双重预防机制信息化平台临沂seo建站
  • 网站建设售前做做网站
  • 网站建设 管理关于网络推广的方法
  • 可以做动漫网站的源码源码网课培训机构排名前十
  • ps做的网站模板竞价推广开户公司
  • 做网站服务器要什么系统百度站长之家工具