二分法查找(C语言、matlab)

标签:  C语言   算法   二分法查找   c语言   数据结构   matlab   二分法  

文章目录

  • 二分法查找(C语言、matlab)
    • 理解核心控制
    • 为什么左边界i=n+1;为什么右边界j=n
    • C语言实现二分法
    • matlab实现二分法

二分法查找(C语言、matlab)

理解核心控制

在这里插入图片描述

为什么左边界i=n+1;为什么右边界j=n

需要注意,一般进行的是整数除法:
eg:3 / 2=1(计算机的整数除法)
在这里插入图片描述

C语言实现二分法

#include<stdio.h>
int main(void)
{
	int n,value,left,right,average;//带查找数组的长度,待查找的数, 左边界,有边界 ,二分点 
	int a[n],i;//c99的标准,输入数组	
	printf("请输入数组长度和待查找的数:\n");
	scanf("%d%d",&n,&value);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	//输出数组 
	for(i=0;i<n;i++){
		printf("%d ",a[i]);
	}
	printf("\n");
	//进行二分查找 
	left=0;
	right=n-1;	
	while(left < right){
		average=(left+right)/2;
		if(a[average] < value){
			left=average + 1 ;
			printf("left=%d\n",left); 
		}	
		else{//value <= a[ right ]
			right=average; 
			printf("right=%d\n",right);			
		}	
	}
	if(value == a[left])//left == right > average
		printf("%d",left);
	else
		printf("can't find!");
} 

运行之后,效果如图:
在这里插入图片描述

matlab实现二分法

值得注意,matlab是在双精度浮点下计算的,所以程序不同于上述所说的方法。

版权声明:本文为weixin_46574762原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_46574762/article/details/105955373

智能推荐

基本环境配置(JDK相关配置、Maven配置、tomcat配置、eclipse配置)

目录 JDK配置 Maven下载与配置 Tomcat下载与配置 Eclipse下载与配置 spring-tool-suite(STS)工具下载与配置 STS/eclipse工具优化 JDK配置 1.下载JDK https://www.oracle.com/java/technologies/javase-downloads.html 2.环境变量配置 右击 【此电脑】 点击【高级系统设置】之后点击...

Redis Cluster集群模式

Redis Cluster 它是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构达到负载均衡的目的。 数据分布理论: 分布式数据库首要解决把整个数据集按照分区规则映射到多个节点的问题,即把数据集划分到多个节点上,每个节点负责整个数据的一个子集。常见的分区规则有哈希分区和顺序分区。Re...

Markdown学习

Markdown学习 标题 三级标题 四级标题 字体 hello,world hello,word hello,word hello,word 引用 这里是引用部分 分割线 图片 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eH5XR8lZ-1597155082662)(E:\图片\img\img\大图\5a5db78f99822.jpg)] 超链接 点击跳转到百...

Xception: Deep Learning with Depthwise Separable Convolutions

代码请见:https://github.com/Cadene/pretrained-models.pytorch/blob/master/pretrainedmodels/models/xception.py...

【学习笔记】图的实现和特征

1.图的属性和分类 本部分图的内容,面试的时候应该根据被面试公司的情况看是否需要准备更多内容,文末有相关学习链接 图的属性 Graph(V, E):图是点和边的集合构成的 V -vertex:点 度:入度和出度 点与点之间:连通与否 E - edge:边 有向和无向(单行线) 权重(边长) 图的表示和分类 图的表示方法有两种,分别是: 邻接矩阵: 有相邻的边加权重,没有的话如果有边加1,没有边的化...

猜你喜欢

2.2.9 hadoop体系之离线计算-mapreduce分布式计算-流量统计之手机号码分区

目录 1.需求分析 2.代码方案 2.1 自定义分区 2.2 JobMain添加分区设置 2.3 分区结果 1.需求分析 在需求一的基础上,继续完善,将不同的手机号分到不同的数据文件的当中去,需要自定 义分区来实现,这里我们自定义来模拟分区,将以下数字开头的手机号进行分开 135 开头的数据到一个分区文件 136开头的数据到一个分区文件 137开头的数据到一个分区文件 其他数据到一个分区文件 2....

unity3D IMGUI井字棋

目标 使用IMGUI构建UI,做一个井字棋游戏。IMGUI文档 目的: 1. 提升 debug 能力 2. 提升阅读 API 文档能力 结果 核心设计 GUI.Button(new Rect(x, y, width, height), “Something you want to show in Button”); 该函数用于创建一个button,点击button,该函数返...

基于LivePlayer的录像回放页面

在视频播放中,少不了录像回放功能。其回放功能进行接口调用暂且不谈,主要记录下包含回放条的录像回放页面。 html js css 效果...

Android 图片吸色,增加过渡效果

Android 图片吸色,增加过渡效果 效果图如下: 参考实现: Palette.java 代码 Target.java ColorCutQuantizer.java...

Qt工作笔记-QXmlStreamReader中的字符编码的坑

以本人这篇博文的源码为例: https://blog.csdn.net/qq78442761/article/details/80501909   源码改成如下所示:   xml文件就是这样的 把这个编码改成ANSI编码存储,如下图所示: <?xml   version="1.0"   encoding="GBK"...

资讯网起名网打分测试检测名字起的好不好名大全起名阿里网站设计时辰八字算几两命宝宝辅食制作网站袁姓美女孩子起名字php网站页面设计起名免费网河南新密范三学seo大约需要多少钱洛阳网站建设公司够力经典解梦火锅店名字大全起名网贵阳室内设计网站seo的基本步骤一起同过窗2石纪元第二季网站设计背景图亦和奕哪个起名字好阮姓氏女孩起名深圳seo价格梦想小镇内购破解版解梦,死去的亲人usb3.0驱动下载短篇小说排行榜百万部大片免费观看周口钱币交易中心方城网站设计营销推广哪家公司好少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化