• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby实现二分搜索(二分查找)算法的简单示例

Ruby实现二分搜索(二分查找)算法的简单示例

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了matlab二分法示例,ruby,ruby碧玺,ruby woo口红,mac ruby woo口红等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在计算机科学中,二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。

复杂度分析
时间复杂度:
折半搜索每次把搜索区域减少一半,时间复杂度为201672171630230.png (57×31)。(n代表集合中元素的个数)
空间复杂度:
201672171655530.png (39×25)虽以递归形式定义,但是尾递归,可改写为循环。

Ruby代码示例

def binseaech(arr, i)
  low, high = 0, arr.size - 1
  while (low < high)
    mid = (low + high)/2
    if arr[mid] < i
      low = mid + 1
    elsif arr[mid] > i
      high = mid - 1
    else
      return mid
    end
  end
end

arr = [1,3,12,34,35,46,91,108]
puts binseaech(arr, 91)

</div>

结果:

6
[Finished in 0.1s]
</div>

</div>

您可能想查找下面的文章:

  • Ruby实现二分搜索(二分查找)算法的简单示例

相关文章

  • Ruby、PHP、Shell实现求50以内的素数
  • Ruby编程中的赋值相关操作
  • 举例讲解Ruby中迭代器Iterator的用法
  • Ruby实现邮件主动推送触发程序
  • Ruby on Rails中MVC结构的数据传递解析
  • 简单介绍Ruby on Rails对PostgreSQL数组类型的支持
  • Ruby On Rails中如何避免N+1问题
  • Ruby设计模式编程中对外观模式的应用实例分析
  • ruby 流程控制 方法
  • 剖析 rudy 访问控制

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 浅析Ruby中的DATA对象
    • 举例初步讲解Ruby中的正则表达式
    • ruby on rails 代码技巧
    • 用实际代码演示Ruby的容易被误解的6个特性
    • Java 版的 Ruby 解释器 JRuby 1.7.14 发布
    • ruby 过程对象 解析
    • ruby 正则表达式 教程
    • 使用Ruby on Rails和PostgreSQL自动生成UUID的教程
    • Ruby中的Range对象学习笔记
    • 冒泡排序算法及Ruby版的简单实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有