博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Search二分法搜索C++程序
阅读量:5318 次
发布时间:2019-06-14

本文共 840 字,大约阅读时间需要 2 分钟。

二分法基本上学计算机的都听过,但是有人不知道的就是其实二分法是减治法的思想。

所谓减治法和分治法有一个主要差别就是减治法是减去一般,就是分治之后只需要解决原问题的一半就可以了得到全局问题的解了。所以速度很快。

下面是二分法的递归程序和非递归程序和主测试程序:

#include
#include
using namespace std;template
int recurBiSearch(const vector
&vt, T key, int low, int up){ if(low>up) return -1; int mid = (low+up)>>1; if (key < vt[mid]) { return recurBiSearch(vt, key, low, mid-1); } else if (vt[mid] < key) { return recurBiSearch(vt, key, mid+1, up); } return mid;}template
int iterBiSearch(vector
&vt, T key, int low, int up){ int mid; while (low<=up) { mid = (low+up)>>1; if(key
vec; // set some initial content: for (int i=1;i<10;i++) vec.push_back(i<<2); vec.resize(7); vec.resize(12,80); std::cout << "vec contains:"; for (int i=0;i

运行结果:

 

转载于:https://www.cnblogs.com/suncoolcat/p/3423959.html

你可能感兴趣的文章
POJ No.2386【B007】
查看>>
点击复制插件clipboard.js
查看>>
LeetCode : Pascal's Triangle
查看>>
mysql优化
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
Oracle命令--创建表空间、创建临时表空间、创建用户
查看>>
poj2187 Beauty Contest
查看>>
cf 472G Design Tutorial: Increase the Constraints 分块+压位/FFT
查看>>
iOS开发之使用XMPPFramework实现即时通信(一)
查看>>
CentOS 6.5(x86_32)下安装Oracle 10g R2
查看>>
C语言学习总结(三) 复杂类型
查看>>
数据类型转换
查看>>
HNOI2018
查看>>
Android中检测网络连接状况的方法
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
python3基础知识自学笔记3-集合字典元组
查看>>
session的属性/方法/事件
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>