博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用或不使用递归的二分查找
阅读量:5102 次
发布时间:2019-06-13

本文共 762 字,大约阅读时间需要 2 分钟。

 

不使用递归的二分查找

 
public class Main {
public static void main(String[] args) {
int[] array = {
9, 5, 2, 6, 1, 3, 8, 4, 10, 7}; int j; for (int i=1;i
0&&number
array[number]){ number=start+1; } } return -1; } } 控制台输出:4 使用递归的二分查找

 递归,就是在运行的过程中调用自己。

 

  递归必须要有三个要素:

 

  ①、边界条件

 

  ②、递归前进段

 

  ③、递归返回段

 

  当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

 
public class Main {
public static void main(String[] args) {
int[] array = {
9, 5, 2, 6, 1, 3, 8, 4, 10, 7}; int j; for (int i=1;i
0&&number
high){ return -1; }else { if (number>array[number]){ return findTwoPoint(array,key,high,low+1); } if (number
控制台输出:4
 

递归的二分查找和非递归的二分查找效率都为O(logN),递归的二分查找更加简洁,便于理解,但是速度会比非递归的慢。

 
 

转载于:https://www.cnblogs.com/neowu/p/10743554.html

你可能感兴趣的文章
Azure 托管镜像和非托管镜像对比
查看>>
SQLite3初探
查看>>
多线程/多进程/异步IO
查看>>
leetcode 442. 数组中重复的数据 java
查看>>
struts2 文件上传下载注解示例
查看>>
编写一个简单的JAVA WEB Servlet页面
查看>>
JSP:Cookie实现永久登录(书本案例)
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
linux--GCC用法
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
OWIN是什么?
查看>>
前端监控
查看>>
centos6.5 mysql忘记登入密码
查看>>
Trusted Execution Technology (TXT) --- 启动控制策略(LCP)篇
查看>>
clipboard.js使用方法
查看>>
绘图库:Matplotlib
查看>>
0906第一次作业
查看>>
Ceph Monitor基础架构与模块详解
查看>>
dbca:Exception in thread "main" java.lang.UnsatisfiedLinkError: get
查看>>