二分法查找(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是在双精度浮点下计算的,所以程序不同于上述所说的方法。
智能推荐
基本环境配置(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"...