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

加盟招商网站建设方案书公司企业安全文化内容范本

加盟招商网站建设方案书,公司企业安全文化内容范本,dz wordpress互通,网络营销岗位技能目录 算法思想: 实践: 备注: 二分查找是一种高效的查找算法,适用于在 有序数组 或列表中快速定位目标元素的索引。 重要事情说三遍:使用前提:数组有序,无重复,如果数组未排序&am…

目录

算法思想:

实践:

备注:


二分查找是一种高效的查找算法,适用于在 有序数组 或列表中快速定位目标元素的索引。

重要事情说三遍:使用前提:数组有序,无重复,如果数组未排序,先进行排序去重处理。

                                               数组有序,无重复,如果数组未排序,先进行排序去重处理。

                                               数组有序,无重复,如果数组未排序,先进行排序去重处理。        

算法思想:

  1. 初始化左右边界: 定义两个指针 leftright,分别指向数组的起始位置和终止位置。
  2. 计算中间位置: 根据公式 mid = left + (right - left) // 2 计算中间位置索引,避免大数相加可能导致的溢出。(mid=(left+right)/2)这种写法当left和right很大时,可能数据溢出。

实践:

二分查找中,容易写错的地方往往是边界条件区间的定义,这是导致程序混乱的根本原因。这里详细解释一下这两种常见的区间定义(左闭右闭左闭右开)及其实现逻辑。

左闭右闭:

#include <stdio.h>int binarySearch(int arr[], int size, int target) {int left = 0;int right = size - 1;while (left <= right) {// 使用向下取整的公式计算中点int mid = left + (right - left) / 2;if (arr[mid] == target) {return mid; // 找到目标值} else if (arr[mid] < target) {left = mid + 1; // 在右半部分查找} else {right = mid - 1; // 在左半部分查找}}return -1; // 未找到目标值
}int main() {int arr[] = {1, 3, 5, 7, 9, 11}; // 偶数长度数组int size = sizeof(arr) / sizeof(arr[0]);int target = 7;int result = binarySearch(arr, size, target);if (result != -1) {printf("目标值 %d 的索引是 %d\n", target, result);} else {printf("目标值 %d 未找到。\n", target);}return 0;
}

左闭右开:

#include <stdio.h>int search(int* nums, int numsSize, int target) {int left = 0;int right = numsSize; // 左闭右开区间while (left < right) { // 循环条件:left < rightint mid = left + (right - left) / 2;if (nums[mid] == target) {return mid; // 找到目标值} else if (nums[mid] > target) {right = mid; // 调整右边界} else {left = mid + 1; // 调整左边界}}return -1; // 未找到目标值
}int main() {int nums[] = {1, 3, 5, 7, 9};int numsSize = sizeof(nums) / sizeof(nums[0]);int target = 7;int result = search(nums, numsSize, target);if (result != -1) {printf("目标值 %d 的索引是 %d\n", target, result);} else {printf("目标值 %d 未找到。\n", target);}return 0;
}

备注:

在二分查找中,左中点(向下取整)右中点(向上取整) 的计算方式会影响算法的细节,但在实际应用中,它们的功能基本是等效的。

http://www.yayakq.cn/news/454620/

相关文章:

  • 网站没有被百度收录空间建网站
  • android 旅游网站开发产品造型设计
  • 怎么做网站前段建站工作室源码
  • 做100个网站效果图网站外网怎么做
  • 如何让别人看到自己做的网站10岁一12岁的创意手工
  • 中国建设银行网站招聘如何做电商 个人
  • iis虚拟网站东航集团客户网站是哪家公司建设
  • 织梦网站怎么更换模板免费做网站txt外链
  • 长子网站建设工程施工合同免费版
  • 局域网网站建设步骤网页视频下载不了怎么办
  • 网站开发团队组成如何做酒店网站设计
  • 广州网站建设新际wordpress 地区联动
  • 东莞网站关键词排名邯郸seo快速排名
  • 网站建设 企泰科技个人网站怎么建立
  • 跨境电商网站如何做推广wordpress主机 好吗
  • 婚恋网站需求分析泉州网站制作平台
  • 网站开发流程记住吧看守所加强自身网站建设工作
  • 哈尔滨网站建设公司名字济南网站搜索引擎优化
  • 手机网站建设平台济南品牌网站建设低价
  • 怎么用云服务器做网站html网页制作作品
  • 网站建设基础资料wordpress不是博客
  • asp.net做网站头部和尾部_都用什么来实现平台网站建设网站
  • 做网站哪里比较好h5页面制作软件电脑版
  • 摄影建设网站个人做网站需要备案吗
  • 司法网站建设与维护 教材wordpress热门标签调用
  • 公司的网站建设是什么部门龙岗住房和建设局网站
  • 免费网站重生做军嫂吉首企业网站建设价格
  • 越南的网站建设我的南京网站
  • 教做flash的网站dede游戏网站源码
  • 网站微信二维码侧边栏漂浮框网站上线是前端还是后端来做