二分查找【思路】【递归】
这期我会做得详细亿点
你玩过猜数游戏吗?
如果答案在1~100之间,你能在10次之间猜出来吗?
cout<<rand()%100-1;
40
--------------------------------
Process exited after 0.532 seconds with return value 0
请按任意键继续. . .
我先猜50:大了
我猜25:小了
我再猜38:小了
我猜44:大了
我猜42:大了
我猜40:对了
你看懂了吗?
实际上就是不停分一半
也就是上期的:
q=(left+right)/2;
可以看看这个:http://cqyc.com:8888/files/algorithm_show.htmlhttp://cqyc.com:8888/files/algorithm_show.html
递归什么的都是次要的,在递归中长这样
return erfenchazhao(l,r+1);
最后,就看看代码吧
#include<bits/stdc++.h>
using namespace std;
long long x[100000];
int efcz(long long s[],long long l,long long r,long long b,long long z)
{if(s[b]==z){return b+1;}if(s[b]>z) return efcz(s,l,b-1,(l+r)/2,z);if(s[b]<z) return efcz(s,b+1,r,(l+r)/2,z);
}
int main()
{long long v,y;cin>>v>>y;for(int l=0;l<v;l++){cin>>x[l];}sort(x,x+v);//这里是升序还是降序看情况cout<<efcz(x,0,v-1,(v-1)/2,y);return 0;
}
二分查找【思路】【递归】相关推荐
- 二分查找算法递归和非递归实现
自己接触和了解过的查找算法总结起来分为3个吧: 1. 静态查找(主要是二分查找,效率较高) 2. 动态查找(二叉查找树) 3. 哈希表 首先来说二分查找吧! 基本思想:假设在一个已经排好序的有序序列( ...
- 查找算法之一:二分查找(递归实现)
二分查找的递归实现 思路分析 代码实现 思路分析 1.确定该序列的中间的下标mid: mid = (left + right)/2: 2.让需要查找的数findVal 与 arr[mid]进行比较: ...
- Java实现折半查找(二分查找)的递归和非递归算法
Java二分查找实现,欢迎大家提出交流意见. /** *名称:BinarySearch *功能:实现了折半查找(二分查找)的递归和非递归算法. *说明: * 1.要求所查找的数组已有序,并且其 ...
- JAVA常用算法一:二分查找【递归 or 非递归】
文章目录 一.Java实现二分查找[递归] 二.Java实现二分查找[非递归] 三.测试 一.Java实现二分查找[递归] //递归使用二分查找public static int binarySear ...
- 二分查找非递归方式实现
思路分析 代码实现 package com.atguigu.binarysearchnorecursion;/*** @创建人 wdl* @创建时间 2021/4/2* @描述*/ public cl ...
- Python 二分查找(涉及递归思想)
二分查找介绍 二分查找(搜索)是一种在有序列表中查找某一特定元素的搜索算法. 首先先查找到目标列表的中间元素,如果中间元素正好是要查找的元素,则返回查找元素的索引下标,搜索结束:如果要查找的元 ...
- 二分法:二分查找(递归+非递归)实现
二分查找又称折半查找,首先,假设表中元素是按升序排列,将 表中间位置的关键字与查找关键字比较: 如果两者相等,则查找成功; 否则利用中间位置将表分成前.后两个子表: 1)如果中间位置的关键字大于查找关 ...
- 二分查找(递归和非递归)
二分算法步骤描述 前提:有序数组中查找关键词所在的位置 ① 首先确定整个查找区间的中间位置 mid = strat+(end-strat)/2 ② 用待查关键字key值与中间位置的关键字值进行比较: ...
- python学习-综合练习七(二分查找(递归)、线性查找、插入排序、快速排序、选择排序、冒泡排序、归并排序、堆排序)-实例
文章目录 二分查找 线性查找 插入排序 快速排序 选择排序 冒泡排序 归并排序 堆排序 推荐代码一 推荐代码二 希尔排序 拓扑排序 说明:本篇博文的知识点大部分来自 Python3 实例 二分查找 二 ...
- 算法 - 二分查找(非递归实现二分查找)
package Algorithm.binarysearchnorecursion;public class BinaaySearchNoRecur {public static void main( ...
最新文章
- Mac hive 配置和安装
- 流程控制关键字——分支结构
- HDU(1856),裸的带权并查集
- PHP-fpm 优化问题
- 【转载】扫盲概念RPA
- Java在程序设计题目中的妙用
- 【InnoDB】体系结构
- ElasticSearch 7 正式发布!
- DropDownList第一个默认值
- Jetson Nano 入坑之路 ----(9)C++调用SYN6288语音播报模块
- java邮箱格式校验_Java代码实现非正则表达式检验邮箱格式是否合法
- 根据起始时间和流逝的时间计算出终止时间(C语言)
- 关于Win11家庭版安装Ansys2021R1遇到的问题
- RobotStudio 示教器编程:MoveL指令
- iOS-[NSAttributedString]设置富文本和计算富文本高度
- c语言 按键切换显示屏,51单片机lcd1602按键切屏
- virtualbox 不能为虚拟电脑打开一个新任务/VT-x features locked or unavailable in MSR.
- Xrm.Utility.openEntityForm 时404.15 maxQueryString 错误 和 长度超过maxQueryStringLength值 错误
- 性能测试---搬运自Performance Testing Guidance for Web Applications,作者J.D. Meier, Carlos Farre, Prashant Ban
- re模块day17课堂小结
热门文章
- idcardweb装入失败_新中新身份证读卡器接口API使用
- MyEclipse个性设置 .
- VB.net版机房收费系统——结账功能实现(代码部分)
- OPA2376AIDGKR
- 我最喜欢的科目是计算机英语,我最喜欢的科目英语作文带翻译
- python对象不可订阅_python - TypeError:'int'对象不可订阅 - 尝试创建csv文件时 - SO中文参考 - www.soinside.com...
- 微信小程序与普通网页开发的区别
- 安装oracle过程中卡在45%不动的解决办法
- 部门来了个跳槽出来的测试开发,听说是00后,上来一顿操作给我看呆了...
- [博客记录页]名博记录页,不定时更新