首页 > 其他分享 >二分查找

二分查找

时间:2023-06-02 20:45:03浏览次数:21  
标签:二分 return int mid ele 查找

二分查找

#include <stdio.h>
int binary_search(int *a,int p,int q,int ele)
{
    int mid=0;
    if(p>q)
    {
        return 0;
    }
    mid=p+(q-p)/2;
    if(ele==a[mid])
    {
        return mid;
    }
    if(ele<a[mid])
    {
        return binary_search(a,p,mid-1,ele);
    }
    else
    {
        return binary_search(a,mid+1,q,ele);
    }
}
int main()
{
    int a[10]={10,14,19,26,27,31,33,35,42,44};
    printf("%d\n",binary_search(a,0,9,31));
    return 0;
}

标签:二分,return,int,mid,ele,查找
From: https://www.cnblogs.com/yesiming/p/17452849.html

相关文章

  • 利用jira及confluence的API进行批量操作(查找/更新/导出/备份/删除等)
    前言:近期因为某些原因需要批量替换掉jira和confluence中的特定关键字,而且在替换前还希望进行备份(以便后续恢复)和导出(方便查看)atlassian官方的api介绍文档太简陋,很多传参都没有进一步的描述说明,过程中踩了不少的坑...故现将相关代码分享下,希望有类似需求的朋友能用得上,直接上代......
  • 二分法 三元表达式 生成式 匿名函数 内置函数
    目录二分法三元表达式生成式列表生成式字典生成式集合生成式元组生成式(生成器)匿名函数内置函数二分法二分法思路1.二分法的使用前提条件:列表中得数字必须要有序2.将对象整除2分成两部分3.将目标数值与分割后的对象做比较来确定目标数值在哪一部分4.继续重复这两个步骤直至......
  • 算法之二分法、三元表达式、列表生成式、字典生成式(了解)、匿名函数、常见的内置函数
    算法之二分法二分概念二分算法,又称折半查找,即在一个单调有序的集合中查找一个解。每次分为左右两部分,判断解在哪个部分中并调整上下界,直到找到目标元素,每次二分后都将舍弃一半的查找空间。定义and实现:算法就是解决问题的高效办法常见的算法:二分法算法还可以锻炼我们的......
  • CF101234A Hacker Cups and Balls【二分+线段树】
    Description给一个长度为n的排列,对它做m次操作,每次对[l,r]区间内进行升序/降序排序。问最后的序列处于最中心的数是多少(n为奇数)。Solution是一类没有写过的题,参考题解。二分答案,对于当前的mid,将大于等于mid的数设置为1,小于mid的数设置为0。这样一来,叶结点的值......
  • spark Bisecting k-means(二分K均值算法)
    Bisectingk-means(二分K均值算法)    二分k均值(bisectingk-means)是一种层次聚类方法,算法的主要思想是:首先将所有点作为一个簇,然后将该簇一分为二。之后选择能最大程度降低聚类代价函数(也就是误差平方和)的簇划分为两个簇。以此进行下去,直到簇的数目等于用户给定的数目K为止。......
  • wireshark 查找 DNS 域名——编辑里查找 选择分组详情里去按照字符串搜索即可
    ......
  • 算法:查找算法-二分查找
         ......
  • 「Note」 wqs 二分
    最大标志:选择恰好\(K\)个,使什么东西最优。就比如说\(f_{i,j}\)表示前\(i\)个数里选\(j\)个的最优解。直接求解复杂度很寄。如果\(f_{n,x}\)在坐标系里画出的是一个凸函数(\(x\)是取了多少个值),那么就可以进行wqs二分。我们想要求当\(x=K\)时的解,因为是凸函数所......
  • c++算法:二分
    算法中,有一种比线性查找算力费得更少的一种算法思想,叫“分治”,今天讲的是分治里的二分查找:借助(low+high)/2公式,找到搜索区域内的中间元素。图1中,搜索区域内中间元素的位置是 ⌊(1+10)/2⌋=5,因此中间元素是27,此元素显然不是要找的目标元素。然后就是缩小范围。 下面就是......
  • NEFU 635(二分+枚举)
    题目:TwinkleTwinkleLittleStar 题意:就是给n个点的坐标,然后在这个图形中找出一个边长最小的正方形,要求正方形的边平行于坐标轴且覆盖的点大于等于k个。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>usingnamespacestd;constintN=20......