二分查找的递归与非递归!
递归:
{
if (low<=high)
{
int mid = (low+high)/2;
if(key == Array[mid])
return mid;
else if(key<Array[mid])
return BinSearch(Array,low,mid-1,key);
else if(key>Array[mid])
return BinSearch(Array,mid+1,high,key);
}
else
return -1;
}
非递归:
{
int low=0,high=SizeOfArray-1;
int mid;
while (low<=high)
{
mid = (low+high)/2;
if(key==Array[mid])
return mid;
if(key<Array[mid])
high=mid-1;
if(key>Array[mid])
low=mid+1;
}
return -1;
}
转载于:https://www.cnblogs.com/g0feng/archive/2012/05/15/2502106.html
二分查找的递归与非递归!相关推荐
- C语言(CED)查找最接近的元素(分治法/二分查找):在一个非降序列中,查找与给定值最接近的元素。(递归实现)
(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 一.题目大意 查找最接近的元素(分治法/二分查找):在一 ...
- JAVA常用算法一:二分查找【递归 or 非递归】
文章目录 一.Java实现二分查找[递归] 二.Java实现二分查找[非递归] 三.测试 一.Java实现二分查找[递归] //递归使用二分查找public static int binarySear ...
- 算法006:二分查找 递归、非递归
题目: 已知一个有序数组arr 给定需要搜索的元素,返回索引,若无则返回-1思路: 递归和非递归 1.代码如下 BinSearch .java: package com.yuhl.right;/*** ...
- (C语言)BinarySearch二分搜索/折半查找 --- 递归、非递归
1 /*2 * FILE: BinarySearch.C3 * DATE: 201803064 * ==============5 * DESCRIPTION: 折半查找_递归.非递归实现6 * 二分 ...
- 二分查找的循环实现和递归实现
自己实现了二分查找的循环实现和递归实现 说明:二分查找适用于顺序存储结构,不适于链式存储结构,是一个高效的查找方法.虽然折半查找效率高,但是要排序,排序本身是一种很费时的运算. 要求传入的表是 ...
- C#实现(递归和非递归)快速排序和简单排序
C#实现(递归和非递归)快速排序和简单排序 本人因为最近工作用到了一些排序算法,就把几个简单的排序算法,想冒泡排序,选择排序,插入排序,奇偶排序和快速排序等整理了出来,代码用C#代码实现,并且通过了测 ...
- 二叉树创建及遍历算法(递归及非递归)(转)
//二叉树处理头文件 //包括二叉树的结构定义,二叉树的创建,遍历算法(递归及非递归), /* 作者:成晓旭 时间:2001年10月7日(18:49:38-20:00:00) 内容:完成二叉树创建,二 ...
- 二叉树的先中后序递归和非递归遍历(数据结构作业)
一.设计思想 我创建二叉树是用的先序创建,其中用'#'代表空节点. 1.递归先序遍历 (1)如果当前节点为空节点(用'#'代表空节点),结束当前函数 (2)打印当前节点 (2)递归当前节点的左子树 ( ...
- 树的递归与非递归遍历算法
树的递归与非递归遍历算法 树的递归与非递归遍历算法 树的遍历 实例 树遍历的口诀 树的递归遍历代码 树的先序遍历 树的中序遍历 树的后序遍历 递归遍历思想 树的非递归遍历 树的先序非递归遍历 先序遍历 ...
- c语言中fact函数怎么调用,C语言程序题: 1、编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现...
点击查看C语言程序题: 1.编写一个求n!的函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息 答:int fac(int n) //非递归{int f=1; for(;n;) ...
最新文章
- 15道谷歌面试题及答案
- html转word并保持格式不变,表格从Word转Excel想保持格式不变?用这两种方法,保你轻松搞定...
- python - hadoop,mapreduce demo
- web服务器的简单实现——HTTP权威指南读书心得(七)
- System.Threading.Timer 定时器的用法
- 本地添加Maven管理
- 4月份西部数码.wang域名注册量报告:增速严重缩水
- 原来这就是Java中的模板设计模式,太easy太实用了!
- java正则表达式yyyymmdd_正则表达式校验YYYYMMDD日期格式
- 深度学习中的激活函数
- matlab data数据类型,MATLAB - 数据类型
- 小额批量支付系统可以完成跨行资金清算吗_今天,你转账了吗?带你看懂央行小额批量支付系统...
- 上海移动视频客户端 for 8910
- Twitter 没有在美国总统竞选期间宕机
- Effective C++记录(6):Explicitly disallow the use of compiler-generated functions you do not want
- 论文阅读 点云动态图卷积(DGCNN)
- All The Elements Pronounced in Order (American English)
- idea 启动多个项目 减少内存占用
- linux下查看服务器的cpu、内存大小、硬盘大小
- 腾讯校招课堂|程序员如何在腾讯完成自己的“游戏梦”
热门文章
- mysql+phpMyAdmin错误解决:bug #4813 MySQL 5.7.6 and the Users menu tab
- java模型给泛型_java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
- 加载中...loading... 图片_搞笑图片:小子这就是你单身的原因...
- Java与汽车_Java NIO:IO与NIO的区别
- linux内核2018,CVE-2018-1000001 linux kernel
- 计算机控制技术在线,西交19春《计算机控制技术》在线作业【标准答案】
- dev 居中_div居中 div水平居中代码 | 帮助信息-动天数据
- 下面不是python合法标识符_哪个不是python合法标识符
- java高并发(五)并发模拟
- hadoop 2.7.3