二分、三分查找算法模板
来源:互联网 发布:中国统计年鉴数据下载 编辑:程序博客网 时间:2024/06/06 00:32
二分、三分查找算法的原理及实现代码。
简单定义
在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。
时间复杂度
O (logn),优于直接顺序查找O(n)
原理
左闭右开二分
123456789101112131415161718
int search2(int array[], int n, int v){int left, right, middle;left = 0, right = n; //左闭右开区间的二分查找。while (left < right){middle = (left + right) / 2;if (array[middle] > v)right = middle;else if (array[middle] < v)left = middle + 1;elsereturn middle;}return -1;}
STL
Double型二分
while(fabs(right-left)>eps)//判断语句注:1、right与left之差进行判断 2、eps的值够精度,不然很容易wa
三分法
在二分查找的基础上,在右区间(或左区间)再进行一次二分,这样的查找算法称为三分查找,也就是三分
当需要求某凸性或凹形函数的极值,通过函数本身表达式并不容易求解时,就可以用三分法不断逼近求解。
0 0
- 二分、三分查找算法模板
- 二分查找、三分查找求极点、二分求等比数列【模板】
- 二分查找 三分查找
- 二分查找,三分查找
- hdu2298 三分+二分查找
- 二分和三分模板
- 二分+三分模板
- 算法笔记--二分/三分
- 三分算法-理解,模板
- 查找算法之三分查找
- 二分三分算法专项训练
- 【算法与数据结构】三分查找
- 【算法与数据结构】三分查找
- 洛谷 P3382 【模板】三分法(三分 二分)
- 查找算法 二分查找
- 查找算法:二分查找
- 算法--查找--二分查找
- 查找算法---二分查找
- Windows下显示所有环境变量
- 声明式事务
- java基础编程
- 【Linux】Ubuntu系统中codeblocks主题修改(护vim)
- 函数指针
- 二分、三分查找算法模板
- linux之hbase安装
- 杭电 1008 Elevator
- 程序复杂度估计的表示方法
- Java虚拟机类加载机制
- C/C++ 语言中的表达式求值
- 使用es6 proxy 自动监听对象
- 第六章 递归,内联,重载,作用域和存储类型
- 心理咨询预约如何在微信公众号如何快速实现