c#二分查找

C#实现二分查找算法 作为参数,并返回目标值在数组中的索引,如果目标值不存在于数组中,则返回 -1。方法,该方法接受一个已排序的整数数组。C#实现二分查找算法。 阅读详情

二分查找又称折半查找,它是一种效率较高的查找方法。
二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。

public class Program
    {
    
        public static int Binsch(int[] a, int key)
        {
            int low = 0;
            int high = a.Length-1;
            while (low <= high)
            {
                int mid = (low + high) / 2;
                if (key == a[mid])
                {
                    return mid;  //返回找到的索引值
                }
                else
                {
                    if (key < a[mid])
                        high = mid - 1;
                    else
                        low = mid + 1;
                }
            }
            return -1; //查找失败
        }

        public static void Main(string[] args)
        {
          
                 int n = 100;//数组长度
                int[] arr = new int[n];
                for (int i = 1; i <= n; i++)
                {
                    arr[i - 1] = i;//初始化数组
                    Console.Write(i.ToString() + ",");//输出数组
                }
                
                Stopwatch sw = Stopwatch.StartNew();
                int result = Binsch(arr, 17);//查找17
                sw.Stop();
                Console.WriteLine(sw.Elapsed);//显示运行时间


                Console.WriteLine(result);//查询结果
        }

    }


二分查找C# 学习总结 递归和非递归 static int BinarySearch(int[] a,int target) { bool isInclude = false; int low = 0; //起点 int high = a.Length;//终点 int mid;//一次砍一半 while (low<high) { mid = (.. 阅读详情

相关推荐

二分查找与三分查找算法 C#

首先是二分查找法,时间复杂度O(2log2(n)):         static bool Find(int[] sortedArray, int number)        {            if (sortedArray.Length == 0)                return false;            int start = 0;

4096

二分查找之C#实现详解

【前置知识】 二分查找是对有序数组(向量)而言的,所以在使用二分查找前要确保数组已经是顺序的(用到排序算法)。 【二分查找原理】 聚会时通常会玩猜数字的游戏: 先由坐庄的人来写一个数字(比如在1~1000之内) 让大家轮流猜,并告诉大家正确数字比当前猜的数字大或者小 每猜一次范围就会缩小,最后猜中的人倒霉挨罚 二分查找要求只能猜中位数,每次让猜的范围缩小一半,这样很快就能猜中,也即很快...

enternalstar的博客 3011

C# 二分查找算法实现

C# 二分查找算法实现二分查找算法是一种高效的查找算法,适用于有序数组。本篇文章将介绍如何使用C#语言实现二分查找算法,并给出完整的源代码。

PixelShadeZ的博客 202

C# 二分查找

该算法比较要搜索的值和数组的中间元素。如果要搜索的值小于中间元素,则在数组的左半部分继续搜索;如果要搜索的值大于中间元素,则在数组的右半部分继续搜索。在C#中,二分查找通常是用于在有序数组中查找数值类型的数据,而不是用于在字符串数组中查找字符串。二分查找是一种高效的查找算法,因为在每次比较后,搜索范围可以减半,时间复杂度为O(log n)。在上面示例代码中,修改了二分查找算法,使其可以在有序的字符串数组中查找特定的字符串。如果数组或列表不是有序的,可以先对其进行排序,然后再利用二分查找进行搜索。

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 1265

C#算法-二分查找

本文使用C#实现二分查找算法

qq_30725967的博客 727

二分查找 C#

这里是二分查找的C#实现,这里是二分查找的C#实现,

C#之二分查找

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。

a_dafei的博客 326

python调用海康工业相机并用opencv显示(整体实现)

python语言调用海康机器人(hikrobotics)工业相机 第一章 Python 语言下连接海康工业相机,并获取数据 文章目录 系列文章目录 前言 目录 python语言调用海康机器人(hikrobotics)工业相机 文章目录 前言 一、底层接口的准备 二、使用步骤 1.引入库 2.枚举设备 3.判断设备类型 4.输入连接设备 5.创建相机实例并创建句柄 6.打开设备 7.获取相关参数 8.主动获取图像 9.开启取流并获取每张.

qq_39570716的博客 5万+

c# 二分查找

二分查找

qq_42607586的博客 834

初学者入门机器学习 (ML)的推荐教程

了解基本的机器学习概念并不难。有大量免费的在线博客文章、视频和编码教程可以引导您了解基础知识——从介绍性内容到常见应用程序,再到算法和应用技能。这篇文章总结了一些用于介绍 ML 的最佳免费选项。它按逻辑顺序排列,每个概念都建立在上一个概念的基础上。

u010542847的博客 4621

毫米波雷达SLAM实战:如何在无GPS的地下隧道实现精准三维建图(附Python代码)

本文深入探讨了在无GPS信号的地下隧道等拒止环境中,如何利用毫米波雷达SLAM技术实现精准三维建图。文章系统分析了毫米波雷达点云数据稀疏、噪声多的挑战,并提供了从环境配置、核心算法(如特征提取、ICP配准、回环检测)到全局优化的完整实战解决方案,附有可运行的Python代码,帮助开发者构建鲁棒的自主导航与建图系统。

t8u9v0w1x的博客 240

【查找算法】二分查找(C# + 递归、非递归和变种形式)

本文主要介绍二分查找算法,通过图片解析每一次查找的情况。代码通过C#实现,分别有递归、非递归和变种三种形式。其中变种主要**解决数组出现重复数据**的问题。最后,我们还分析了二分查找的局限性。...

baidu_33146219的博客 2万+

模拟电子技术课设-压控信号发生器

正弦波产生电路的目的就是使电路产生一定频率和幅度的正弦波,我们一般在放大电路中引入正反馈,并创造条件,使其产生稳定可靠的振荡。由于图2.3-1所示电路中存在RC电路和积分电路两个延迟环节,在实用电路中,将它们“合二为一”,即去掉方波发生电路中的RC回路,使积分运算电路即作为延迟环节,又作为方变三角波电路,滯回比较器和积分运算电路的输出互为另一个电路的输入。接着对各单元电路的工作原理进行了分析,由直流稳压电源电路提供所需电压,文氏振荡器产生正弦波,滞回比较器产生方波,滞回比较器与积分器连接产生三角波。

Sulfurone的博客 5325

C# | 二分查找算法的实现

二分查找法一种在有序数组中查找目标值的算法。划重点——“有序”,与需要遍历整个数组的查询算法不同,二分查找法通过将数组分成两部分来快速定位目标值所在的位置。二分查找法有什么用呢?它的主要好处在于它的效率很高。因为它能够通过每次排除一半的元素来快速缩小搜索范围,因此在大型数据集上使用二分查找法可以显著提高查找速度。比较一下二分查找法和其他常见的查找算法的效率。相比于顺序查找法,它的平均时间复杂度更低,可以达到O(log n)。

猿长大人 1096

第二大脑的觉醒:一个寄生在代码里的小生命,如何悄无声息地接管我的工作流

所有记忆都存在本地。

步子哥的博客 1064

那些年我们create generate clock遇到的坑

想必大家对create_generate_clock这个命令熟悉的不能再熟悉了,然而,在真正做实际项目的时候,会出现各式各样的问题,比如在report timing时,generate clock路径不是我们预想的,source latency丢失等等,今天小编就跟大家重点聊聊source latency丢失的情况。clock时,首先我们要对一个项目的时钟结构要比较清晰,同时针对一些复杂的生成时钟,我们也要学会画波形图进行分析;接下来,我们就来看看哪些case会导致source latency丢失。

芯冰乐 136

C#实现二分查找算法​

C#实现二分查找算法C#实现二分查找算法​C#实现二分查找算法以下是一个使用 C# 实现的二分查找算法示例:using System;作为参数,并返回目标值在数组中的索引,如果目标值不存在于数组中,则返回 -1。方法,该方法接受一个已排序的整数数组。

weixin_47730343的博客 579

【VTKExamples::PolyData】第十六期 GradientFilter

本文分享VTK样例GradientFilter,并解析接口vtkGradientFilter & vtkAssignAttribute,希望对各位小伙伴有所帮助!

qq_40041064的博客 319

C#写算法之二分查找

C#写算法之二分查找

知识无止境 1322

Python库CloudScraper详细使用(绕过 Cloudflare 的反机器人页面的 Python 模块)

CloudScraper是一个专门用于绕过Cloudflare反机器人保护的Python库,它基于requests库构建,能够处理Cloudflare的5秒盾、WAF和人机验证等防护机制。

数据知道的博客 1万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C#中的二分查找

C#中的 二分查找 的步骤 1、数组 2、开始索引 3、结束索引 4、要查找的对象 5、对象所在的索引位置   示例代码: public static int BinarySearch(int[] arr ,int low, int hight,int key)         {             int mid = (low + hight) / 2;  

Confession 的技术频道 685

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# 实现的二分查找法

 C# 实现的二分查找法public int search(int[] q) ...{   int i, low = 0, high = q.Length - 1, middle;   Console.Write("请输入想要查找的数字:");   i=int.Parse(Console.ReadLine());   while (low  high)   ...{     middle 

征服珠穆朗玛 2623

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

C#算法之二分查找

搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且调整中间位置以继续搜索,直到找到要找的元素,或者搜索范围为空。在有序数组中查找特定元素时,二分查找通过不断将数组分成两半,来缩小搜索范围,直到找到元素或搜索范围为空。它通过迭代的方式,不断将搜索范围减半,直到找到目标值或搜索范围为空。如果未找到,则返回-1。如果搜索范围为空时仍未找到目标值,则说明目标值不在数组中,返回-1或其他表示未找到的值。

学习和分享 482
上一篇: 常用正则表达式
下一篇: 正则表达式学习网址
Waldenz
博客等级 码龄17年 219粉丝 229原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值