二分查找
来源:互联网 发布:怎么在淘宝上开个网店 编辑:程序博客网 时间:2024/06/15 03:36
二分查找
相似题型(瞎编)
题目描述
给你一个有序的数列(A,长度为n),再给你一个数(x),输出这个数的位置(不重复出现此数)。
样例输入
7
1 3 4 5 7 8 10
7
样例输出
5
思路
类似这样的题型,我们第一个想到的,是枚举,将1~n扫一遍。这种方法,时间复杂度为O(n),题目数据大时会炸掉(并非指此题,此题也许只是一个大题中的一小部分嵌入这个算法。此题数据大时连输入也超时,别跟我提读入优化,我连这东西能不能吃都不知道)
所以我们
内容
二分查找是分治算法的一种(我其实并不熟练)。主要思想是,将一个区间分成两段,把其中一段排除,取更优的一段。将这一段再进行同样的操作,直到此区间变为一点。
首先指定一个区间(l~r),这区间是要有序(我们这里先假设从小到大)的。你要查找一个数,就从中间分,mid=(l+r)/2。如果A[mid]正好就是你要查找的数,则mid就是它的位置。当A[mid]>x时,说明x的位置在mid左侧,我们就不用找右侧了
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- C++学习第三课
- 仿QQ侧滑菜单
- 两学一做
- [Leetcode 79] Word Search
- C++ Primer_3 字符串、向量和数组
- 二分查找
- springMVC返回数据的四种方式
- “歪谈”指针
- [leetcode]K-th Smallest in Lexicographical Order
- Fragment事务与回退栈
- java:从消息机制谈到观察者模式
- (19)Java学习笔记——多线程02
- 【JZOJ3885】搞笑的代码
- linux下的ftp访问路径设置