数据结构折半查找算法 用递归法写一个折半查找的算法?

用递归法写一个折半查找的算法?

半搜索需要先对数据进行排序。以上是气泡排序算法的实现。半搜索算法描述如下:在一个有序表中,将要搜索的数据值与搜索范围的中间元素值进行比较,会出现三种情况:

数据结构折半查找算法 用递归法写一个折半查找的算法?

1)如果要搜索的数据值正好等于中间元素值,则放回中间元素值的索引。

2)如果要搜索的数据的值小于中间元素的值,则整个搜索范围的前半部分将用作新的搜索范围,并且1)执行,直到找到相等的值。

3)如果要搜索的数据的值大于中间元素的值,则整个搜索范围的后半部分将用作新的搜索范围,并执行1)直到找到相等的值。4) 如果最后找不到相等的值,则返回错误消息。实现过程如下:复杂性分析:半搜索就像搜索素数二叉树:中间值是二叉树的根,前半部分是左子树,后半部分是右子树。半搜索方法的搜索次数正好是值所在的层数。在等概率的情况下,它是关于log2(n1)-1的,算法复杂度为O(logn)。

用递归法写一个折半查找的算法?

//二进制搜索前置条件数组元素按升序排序

int Binsearch(int value,int a[,int narraylen)

{

int nmid=narraylen/2

if(value==a[nmid])

return nmid//找到下标

if(nmid==0)

return-1//找不到

if(value

return返回Binsearch(value,a,nmid)

else

return Binsearch(value,a nmid,narraylen-nmid)

}

/*在使用之前我根本没有仔细调整过它*/void insert(int*array,int len,int x){if(len==0){/*数组元素整体向后移动*/*array=x return}if(x<=array[len/2])//向下舍入insert(array,len/2,x)else插入(&;数组[len/2,1],len/2,x)}

标签:

最新文章

  1. 去上海打工好找工作吗 来上海一个月,工作真的太难找了,你们都来上海多久了?工作怎么样?2025-03-31
  2. qq炫舞神宠体力多少(炫舞里小妖怎样升级高神宠?)2025-03-25
  3. 水温几个格正常 有的人给自己的五菱荣光换了防冻液,但开起来时水温表一会是二格,一会是五格,这是什么原因?2025-03-26
  4. 送给喜欢的人礼物卡片怎么写(给喜欢的人送生日贺卡写什么?)2025-03-18
  5. excel怎么找出每个单元格重复内容 excel有二组数据,怎么找出重复的?2025-03-13
  6. 高端奶粉排行榜前十名 宝宝要开始喝奶粉了,求推荐大家推荐下中高端的奶粉有哪些?2025-03-29
  7. 手机app开发自适应布局 使用文字处理软件网页局部包括哪些?2025-03-16
  8. 微信怎么知道被好友删除 为什么会被对方莫名其妙删除微信好友?2025-03-18
  9. 华为充电时有几种图标2025-03-12
  10. 丸美眼霜怎么样年龄段 丸美眼霜好用吗?2025-03-22
  11. word页码怎么从任意页开始是1 word中如何让页码从非目录第一页开始显示为1?2025-03-13
  12. 基金备案多久 基金lp备案需要多久?2025-03-22
  13. 1500瓦每小时的变频器一天电损耗 变频器直流欠压如何解决?2025-03-09
  14. 下面松 简述窗体工具箱中的三种控件类型及其特点?2025-03-27
  15. 烤箱烤饼子(烤箱烤面饼的温度和时间?)2025-03-18
  16. 徕卡三维激光扫描仪数据查看操作指南2025-03-08
  17. 手机设置路由器 路由器如何绑定域名?2025-03-30
  18. itunes怎么设置播放顺序 iTunes播放顺序设置2025-03-14
  19. qq企业 企业邮箱注册方法有哪些?2025-03-27
  20. 免费室内设计网站 自学设计有哪些好用的网站?2025-04-02
  21. 变速自行车价格 250元左右的变速自行车?2025-03-24
  22. 无需会员的电视软件免费 免费电视软件2025-03-12
  23. 怎样使用WPS wps提示只有登录才能编辑?2025-03-10
  24. MySQL数据库操作指南2025-03-08
  25. iphone收不到app推送消息 有没有安卓手机能做到和ios那样推送消息的,软件不在后台也能收到消息?2025-03-28
  26. 父窗体显示子窗体 winform中动态添加控件?2025-03-31
  27. Win11管理员运行cmd位置在哪里2025-03-10
  28. dropdownlist控件属性 asp.net中三层架构如何设置DropDownList三级联动?2025-03-31
  29. 小米运动智能手表怎么使用 小米手表aw图文表盘怎么使用?2025-03-11
  30. 如何在QQ影音中设置鼠标热键2025-03-10
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 js中全局变量和局部变量 js中全局变量应该怎么设置?

    js中全局变量应该怎么设置?首先,您需要知道什么是全局变量:JavaScript的变量范围根据方法块而受到限制。方法块内声明的变量称为局部变量,方法块外声明的变量称为全局变量。声明全局变量有三种方法:方法1,在方法块之外进行var声明:]&

  2. 2 一加手机5多少钱 二手一加五手机九成新,现在值多少钱?

    二手一加五手机九成新,现在值多少钱?谢谢!知道怎么做的人回答说,我太坏了!对不起一加五换个屏幕多少钱?手机配件维修价格或其他服务价格一般在官网服务项目中找到。像小米一样,你可以在小米的售后服务中找到它。对于一家公司来说,你可以在易家的官方网

  3. 3 路由器的功能 怎么才能彻底的消灭电脑上的病毒?

    怎么才能彻底的消灭电脑上的病毒?先下杀毒软件,然后更新病毒库,这很重要,不更新就不能彻底清除。彻底清除和删除计算机病毒的三种简单方法:1。使防病毒程序保持最新。如果您的计算机上安装了防病毒程序,请确保它是最新的。随着新病毒层出不穷,大多数反

  4. 4 网络建设费是什么费用 怎样建一个网站?普通网站的建设费用和维护费用是多少?

    怎样建一个网站?普通网站的建设费用和维护费用是多少?域名基本免费,只需要一个服务器。以阿里巴巴云和腾讯云为例。最便宜的网站服务器价格也不贵,一年近500元,作为公司发布信息当然可以。同时支持1000人,基本够用。网站建设代码基本模板,有相关

  5. 5 java获取当前月份 java如何得到年月日?

    java如何得到年月日?//获取long type long L的当前时间=System.currentTimeMillis公司()//new date pair date date=new date(L)//转换日期输出格式simpled

  6. 6 公司网站用什么推广 公司推广

    我建议你不要在PC端网站上浪费时间、精力和金钱。PC互联网时代在几年前就结束了。现在是移动互联网时代。研究手机新媒体如微信、头条、抖动、微博等的营销推广。

  7. 7 分布式数据库 oracle支持分布式数据库吗?

    oracle支持分布式数据库吗?通过dblink连接的多个数据库可以看到合成分布数据库。分布式数据库系统是由一个或多个互联网络系统中一个或多个数据库主机上的一个或多个数据库组成的数据库网络。LZ明白这个概念,你应该明白复制数据库和分布式数据

  8. 8 学c4d需要什么基础 怎么破解wifi密码?

    怎么破解wifi密码?WiFi主密钥不是真正的WiFi破解软件,而是WiFi共享软件。如果你想强行破解WiFi密码,一般要使用cdlinux等破解工具。如果密码强度较弱,仍有破解的可能。如果密码设置复杂,很难破解。目前,有一个专门用来破解互

  9. 9 小迪渗透测试 web渗透测试有前途吗?

    web渗透测试有前途吗?渗透测试工程师研究性学习,选择和安装网络,采用理论工程实践的教学方法。从基础理论教学入手,使学生迅速掌握基础知识。通过项目实践的方式不断巩固知识。学生毕业后,学校安排挨家挨户招聘,使毕业生迅速就业。

  10. 10 华山旅游公司 去华山旅游时,需要注意哪些事项?

    去华山旅游时,需要注意哪些事项?谢谢你的邀请。所有的中国人都知道华山自古以来就是一条路。攀岩、踏崖惊险刺激,可以说是人生经历的最大刺激。攀爬华山时,一定要选择最健康的条件出行。登山前,必须准备好一套登山服、登山鞋、登山杖、手套、安全绳和一定

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图