• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

博学谷 > 资讯

原创 二分法检索变种实现代码怎么写?

发布时间:2020-08-26 15:51:03 浏览 3346 来源:博学谷 作者:吾非鱼

      二分法检索变种实现代码怎么写?二分法中每次排除都可以排除掉一半的情况,这样寻找效率很高。之所以叫二分,因为每次排除都把所有的情况分成"可能"和"不可能"两种,然后抛弃所有"不可能"的情况。


      二分法真的不简单,尤其是二分法的各个变种。最简单的二分法,就是从一个排好序的数组之查找一个key值。如下面的程序:

     

    从一个排好序的数组之查找一个key值
      这个程序,相信只要是一个合格的程序员应该都会写。稍微注意一点, 每次移动left和right指针的时候,需要在mid的基础上+1或者-1, 防止出现死循环, 程序也就能够正确的运行。


      但如果条件稍微变化一下, 你还会写吗?如,数组之中的数据可能可以重复,要求返回匹配的数据的最小(或最大)的下标;更近一步, 需要找出数组中第一个大于key的元素(也就是最小的大于key的元素的)下标,等等。这些,虽然只有一点点的变化,实现的时候确实要更加的细心。下面列出了这些二分检索变种的实现。


      1、找出第一个与key相等的元素

     

    找出第一个与key相等的元素
      2、找出最后一个与key相等的元素

     

    找出最后一个与key相等的元素
      3、查找第一个等于或者大于Key的元素

     

    查找第一个等于或者大于Key的元素
      4、查找第一个大于key的元素

     

    查找第一个大于key的元素

     

      5、查找最后一个等于或者小于key的元素

     

    查找最后一个等于或者小于key的元素
      6、查找最后一个小于key的元素

     

    查找最后一个小于key的元素 

          总结:
      算法:当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的。
      基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较,
      如果当前位置arr[k]值等于key,则查找成功;
      若key小于当前位置值arr[k],则在数列的前半段中查找,arr[low,mid-1];
      若key大于当前位置值arr[k],则在数列的后半段中继续查找arr[mid+1,high],
      直到找到为止,时间复杂度:O(log(n))。

IT编程 入门学习

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 博学谷学员参加新网银行金融科技挑战赛获优胜奖 下一篇: 程序员常用的API接口管理工具有哪些?

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

    热门标签

  • 大数据培训
  • Mysql数据库
  • C/C++
  • Python培训班
  • 全栈开发
  • SEO优化
  • 人工智能培训班
  • IT技术培训
  • IT培训机构
  • IT编程培训
  • 就业方向
  • 产品经理培训

扫描二维码,了解更多信息

博学谷二维码

民权资讯网seo优化无锡起小孩起名网qq估价鬼故事超短篇超吓人书店起哪些名字好黑帽乐天seo周公解梦梦见领结婚证企业网站设计网站公司日名起名器推广品牌营销公司北京制作网站seo优化职能风水周易之家角头2 电影天堂关于蔬菜送货公司起名东北饺子店起名新店铺开业营销推广方案手工阿胶起名大全梦里花落中午做梦准吗周公解梦周易风水大师早餐店水煎包起名饭店起名怎样才能通过php网站建设关键技术校花梦工厂内购破解起重机械名词术语桥式起重机标准华帝股份股票行情ui设计网站开源家政保洁公司怎么起名大全杜源演的电视剧少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

民权资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化