专栏首页yw的数据分析R语言实现二分查找法

R语言实现二分查找法

二分查找时间复杂度O(h)=O(log2n),具备非常高的效率,用R处理数据时有时候需要用到二分查找法以便快速定位

 1 Rbisect <- function(lst, value){
 2     low=1
 3     high=length(lst)
 4     mid=length(lst)%/%2
 5     if (lst[low]==value) low
 6     else if (lst[high]==value) high
 7     else{
 8     while (lst[mid] != value) {
 9       if (value > lst[mid]){
10         low = mid+1
11       } else if (value < lst[mid]) {
12         high = mid - 1
13       } 
14       if(high<low){
15          mid=-1;break
16       }
17       mid=(low+high)%/%2
18     }
19       mid
20 }
21 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python通用读取vcf文件的类(可以直接复制粘贴使用)

      处理vcf文件的时候,需要多种切割,正则匹配,如果要自己写其实会比较麻烦,并且每次还得根据vcf文件格式或者需要读取的值不同要修改相应的代码。因此很多人会选...

    用户1680321
  • annvar下载数据库的网址

    比如想下载hg19_gwava数据,那么需要下载原始txt数据和idx文件,路径如下

    用户1680321
  • cfDNA基本知识

    定义 Circulating free DNA or Cell free DNA (cfDNA):循环游离DNA或者细胞游离DNA,释放到血浆中的降解的DNA片...

    用户1680321
  • 三场沙龙直播,解析“新基建”如何助力实体经济

    欢迎关注公众帐号“鹅厂网事”,我们给你提供最新的行业动态信息、腾讯网络最接地气的干货分享。 注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市...

    鹅厂网事
  • 爬取博客园文章

    一直想整个爬虫玩玩,之前用Java试过...的确是术业有专攻啊,Python写起爬虫来更加方便

    Noneplus
  • WordPress博客集成Hitokoto一言经典语句功能

    沈唁
  • Jboss调优——最佳线程数

    Java学习123
  • 干货:简析芯片反向设计流程

    什么是芯片反向设计?反向设计其实就是芯片反向设计?,它是通过对芯片内部电路的提取与分析、整理,实现对芯片技术原理、设计思路、工艺制造、结构机制等方面的深入洞悉,...

    网络交换FPGA
  • 硅光芯片与InP光芯片比较

    接着前两篇笔记光芯片的材料体系比较 和 基于InP的光芯片简介 ,这一篇主要从性能和成本比较下硅光芯片与InP光芯片,究竟孰优孰劣。

    光学小豆芽
  • SAP ABAP实用技巧介绍系列之 ABAP XSLT select keyword

    选择在title node的value前加上hard code的"Title:", 并将其value设置成红色:

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券