折半查找和二叉排序树的时间性能_leecode刷题----二分搜索与二叉查找(排序)树...

预备知识:二分查找

已知一个排序数组A,如A=[-1,2,5,20,90,100,207,800],另外一个乱序数组B,如B=[50,90,3,-1,2-7,80],求B中任意某个元素是否在A中出现,结果存储在数组C中,出现用1代表,未出现用0代表,如,C=[0,1,0,1,1,0].

二分查找又称为折半查找,首先,假设表中元素是按升序排列,将表中间位置的关键字与查找关键字与查找关键字比较

1.如果两者相等,则查找成功;

2否则利用中间位置将表分为前后两个子集;

(1)如果中间位置的关键字大于查找关键字,则进一步查找前一子表;

(2)否则进一步查询后一子表

当区间不合法时,即没有找到

递归实现二分查找

#include

循环实现二分查找

bool 

测试代码

#include

输出:

793e7108a5c7a796e2c916e447f668a4.png

leecode题目练习:

35.搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例 1:

输入: [1,3,5,6], 5

输出: 2

示例 2:

输入: [1,3,5,6], 2

输出: 1

示例 3:

输入: [1,3,5,6], 7

输出: 4

示例 4:

输入: [1,3,5,6], 0

输出: 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php pacs,DICOM医学图像处理:WEB PACS初谈四,PHP DICOM Class – 只要踏出一步,路就在前方——zssure – CSDN博客...

背景:预告了好久的几篇专栏博文一直没有整理好,主要原因是早前希望搭建的WML服务器计划遇到了问题。起初以为参照DCMTK的官方文档wwwapp.txt结合前两天搭建的WAMP服务器可以顺利的实现WML服务,借此就可以同时完成WEB PACS系列以及搭建Dicom W…

COM, COM+ and .NET 的区别

所有的优秀程序员都会尽自己的最大努力去使自己所写的程序具有更好的可重用性,因为它可以让你快速地写出更加健壮和可升级性的程序。   有两种使代码重用的选择:  1.白盒:最简单的一种,就是把你的程序片拷贝到另一…

mfc在运行的时候为什么没有实例化_为什么不建议把数据库部署在Docker容器内?...

本文同步Java知音社区,专注于Java原文:https://www.toutiao.com/i6805798581971190276/近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗?这个…

php 获取指定时间 次日,PHP时间判断语句

用php只能获取服务器端的时间,得用js获取客户端时间,然后生成对应的css文件内容。为了确保页面能正确显示,还得有个默认的css文件链接。示例代码如下:function DynamicLoad(){var Selfthis; //对象自身//功能:加载指定…

泛型的优势

假设需要一个两个整形变量交换的函数,我们很快就可以嗒嗒嗒嗒的敲出下面的 Swap 函数:void Swap(ref int lhs, ref int rhs){int temp lhs;lhs rhs;rhs temp;}随着项目进展,我们发现,需要用到 Swap 函数的不仅是整形,变量 还有…

老男孩python全栈开发视频教程_老男孩Python全栈开发(92天全)视频教程 自学笔记08...

day8课程内容:文件操作fopen(小重山,r,encodingutf8)     #以读的方式打开文件dataf.read()print(data)f.close() #关闭文件句柄fopen(小重山2,w,encodingutf8)    #以清空再写 的方式打开文件,这一步就将文件以前的内容清空了,如果…

php echo 后必须die,die 提示的消息都去哪了?

小弟新手:$fpfopen("./readme.txt","r") or die("不能打开该文件");想问下,如果打开失败,那么die 的这条消息输出到哪了啊?貌似打开失败界面也没有直接弹出这条消息?请问使用die这条消息…

BSTR、char* 和 CString 之间的转换 (转)

BSTR、char* 和 CString 之间的转换 (1) char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行。例如: char chArray[] "This is a test"; char * p "This is a test"; 或 LPSTR …

python打开音频文件_Python处理音频文件的实用姿势

每天叫醒我的不是理想,是楼下广场舞的音乐。音乐是人类的通用语言,不分国界不分种族。抖音短视频爆火的关键因素之一,就是普通人也能便捷地使用BGM表达自我。从感性角度看,音乐可以有很多种解释,如:音乐是有…

java三路快排,java二路快排很慢

老师,以下是我二路快排的java代码public class quickSortTwoway {public quickSortTwoway() {};public static void quickSort(Integer[] arr) {__quickSort(arr, 0, arr.length - 1);}private static void __quickSort(Integer[] arr, int l, int r) {if(l > r)…

Web开发常出现的错误[个人收集]

获取DataGrid中的每行中的第一行的第一个textbox (有点老,但用的到) publicabstractclassHelper { publicclassConvert { publicstaticTextBox ToTextBox(Control control) { TextBox tb control asTextBox; …

系统分析师资料_如何成为一名数据分析师?

随着大数据的逐渐普及,数据分析越来越普遍应用到各个职能岗位,也就是说,不论你在哪个行业,都会需要数据分析技能。数据岗位的薪资水涨船高,成为目前最有潜力的职业选择之一。根据猎聘发布《猎聘2019年中国AI&大数据…

matlab中ode45如何设置,如何使用Matlab中的ode45修正赋值错误(ode45函数的第488行)

我正在写一个脚本ode45为了整合卫星在火星附近双曲线轨道上的运动方程.我需要整合地球上的整个通道:从SOI半径开始(576000km)向行星前进,然后穿过大气层直到卫星到达opposite“大气边界(设置在250km从表面)。当它接收到输入A时tspan比大约高200000秒(我需要大约400000秒),Matla…

PL/SQL Developer 使用技巧小结(转)

1,右键菜单在PL/SQL Developer(下面简称PLD)中的每一个文本编辑窗口,如SQL Window,Command Window和Porgram Window,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这…

设置文本区域大小_数据验证基本设置技巧

数据验证可以规范用户的文本及数字输入格式,如只能输入指定区间的数值、只能输入文本数据、限制输入空格、限制输入重复值等。设置了数据验证条件后,对符合条件的数据允许输入,对不符合条件的数据则禁止输入。因此,利用此设置可以…

丁丁的生日

7月1日是丁丁的生日,本来计划得很好,下午去给他照相,晚上请一家人吃个饭,然后再去看《变形金刚2》(当然这个没有丁丁的份)。 谁知道计划真的赶不上变化,本来好好的丁丁上午突然有些低热-37.8&am…

mysql5.7修改root密码_七小服公开课EMC isilon修改丢失的root密码

1、连接串口,并重启2、在终端上,当引导过程中看到如下提示符时,按下空格键:Hit [Enter] to boot immediately, or any other key for command prompt.3、在OK提示符下,运行以下命令:boot -s4、看到 "Enter full pathname of …

textbox matlab,matlab gui 编程文本框更新

本帖最后由 350954832 于 2014-12-6 07:38 编辑我也是个新学matlab的菜鸟,有些东西也是不是特别的明白,这个程序本来是一个界面 我想通过点击运行按钮,在左边的文本框里面显示te1这个数组,但是点击运行这个按钮以后文本框没有更新…

张向东:就以当年期望别人对我们那样的方式

这几天,在北京广州办公室的电梯里,不断遇到来报道的新同事,又开心又担心。开心当然是新同事加入,担心是因为很多方面,我们还在学习中,团队文化、职业化程度都还不够,特别对刚刚毕业的大学生来说…

python怎么看内置模块_Python的内置模块详解

一、什么是模块模块就是封装了一些列功能的py文件,我们使用的时候直接导入这个文件,通过传入参数的方式使用其他文件的功能函数二、模块有哪些内置模块自定义模块第三方模块三、如何导入模块导入模块分为4种:1 #导入模块2 importmode_test3 #…