1 图像处理算法之二分查找-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图像处理算法之二分查找

嵌入式单片机 来源:未知 作者:李建兵 2018-03-17 11:29 次阅读

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

search.h

#ifndef _SEARCH_H_
#define _SEARCH_H_
void Search(int *a,int num,int n);
#endif

search.c

#include
#include "search.h"
/**************************************
函数的名:search
函数的功能:二分查找
函数的参数:空
作者:
日期:
******************************************/
void Search(int *a,int num,int n)
{
int left = 0;
int right = n-1;
int mid = (left+right)/2;
while(a[mid] != num&&left {
if(a[mid] >num)
{
right = mid -1;
}
else if(a[mid] < num)
{
left = mid +1;
}
mid = (left+right)/2;
}
if(a[mid] == num)
{
printf("查找的结果中:这个值为:%d ",num);
}
else
{
printf("查找没有这个值 ");
}
}

main.c

#include
#include "search.h"
int main ()
{
int a[] = {30,44,66,22,48,89,100,20,1,3,6,88};
int n = sizeof(a)/sizeof(int);
int i,j;
for(i = 0;i {
for(j = 0;j {
if(a[j]>a[j+1])
{
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
for(i = 0;i {
printf(" %d",a[i]);
}
printf(" ");
int num;
while(1)
{
printf("请输入你要查找的数据: ");
scanf("%d",&num);
Search(a,num,n);
}
return 0;
}


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    27

    文章

    1289

    浏览量

    56720
  • 算法
    +关注

    关注

    23

    文章

    4607

    浏览量

    92819

原文标题:二分查找

文章出处:【微信号:qrsworld,微信公众号:嵌入式单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何用C语言实现高效查找二分法)

    今天给分享一下使用C语言实现二分算法,主要包含以下几部分内容:二分查找算法介绍二分
    的头像 发表于 06-04 08:04 1093次阅读
    如何用C语言实现高效<b class='flag-5'>查找</b>(<b class='flag-5'>二分</b>法)

    Java常用排序算法&程序员必须掌握的8大排序算法+二分查找

    Java常用排序算法&程序员必须掌握的8大排序算法+二分查找
    发表于 10-19 19:33

    常见图像传统处理算法是什么?

    常见图像传统处理算法是什么?
    发表于 09-28 08:58

    基于Simulink的视频与图像处理算法的快速实现

    基于Simulink的视频与图像处理算法的快速实现 主要内容 􀂄视频和图像系统设计􀂙基于模型的设计􀂙视频和图像
    发表于 04-29 14:00 0次下载

    C语言教程之二分查找

    C语言教程之二分查找,很好的C语言资料,快来学习吧。
    发表于 04-22 11:06 0次下载

    DSP6748图像处理算法

    DSP6748图像处理算法-StarterWare
    发表于 05-19 15:13 16次下载

    基于DM642的红外测温与图像处理算法研究

    基于DM642的红外测温与图像处理算法研究
    发表于 02-07 21:04 4次下载

    基于C语言二分查找排序源代码

    本文档内容介绍了C语言归并、选择、直接插入、希尔、冒泡、快速、堆排序与顺序、二分查找排序源代码,分享给大家供大家参考。
    发表于 01-04 11:24 1次下载

    有趣的图像处理算法

    有趣的图像处理算法 在研究的过程中,有时候会碰到很多有意思的图像处理算法算法极具新意,并且能够产生非常有意思的结果。
    发表于 01-12 16:46 4700次阅读

    图像处理算法的优化

    在本视频中,我们将引导您完成典型的用户流程,以优化经典的图像处理算法,即sobel滤波器,从天真的实现开始,再到使用SDSoC以60 FPS,1080辨率运行的硬件优化系统。
    的头像 发表于 11-29 06:30 3218次阅读
    <b class='flag-5'>图像</b><b class='flag-5'>处理算法</b>的优化

    详解C语言二分查找算法细节

    我相信对很多读者朋友来说,编写二分查找算法代码属于玄学编程,虽然看起来很简单,就是会出错,要么会漏个等号,要么少加个 1。
    的头像 发表于 06-22 09:05 2805次阅读
    详解C语言<b class='flag-5'>二分</b><b class='flag-5'>查找</b><b class='flag-5'>算法</b>细节

    二分搜索算法运用的框架套路

    我们前文 我作了首诗,保你闭着眼睛也能写对二分查找 详细介绍了二分搜索的细节问题,探讨了「搜索一个元素」,「搜索左侧边界」,「搜索右侧边界」这三个情况,教你如何写出正确无 bug 的二分
    的头像 发表于 08-25 16:06 1823次阅读

    筑基_C_5_对数组的二分查找

    C语言泛型编程,实现对数组中某元素的二分查找
    发表于 12-06 10:21 9次下载
    筑基_C_5_对数组的<b class='flag-5'>二分</b><b class='flag-5'>查找</b>

    如何理解二分查找算法

    本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。 而且,我们就是要深入细节,比如不等号是否应该带等号,mid 是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的
    的头像 发表于 04-19 11:10 617次阅读
    如何理解<b class='flag-5'>二分</b><b class='flag-5'>查找</b><b class='flag-5'>算法</b>

    FPGA设计中二分法查表算法的实现

    二分查找算法是在软件中广泛应用的一种算法,那么在FPGA的设计中是否可以用这种算法呢?什么场景下会可能用到这种
    的头像 发表于 09-06 18:26 1038次阅读
    FPGA设计中<b class='flag-5'>二分</b>法查表<b class='flag-5'>算法</b>的实现