二分查找
来源:互联网 发布:mac装win7未能启动 编辑:程序博客网 时间:2024/06/06 07:28
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x
class Test{public:int binary_search(int* arr, int len, int goal){ int low = 0; int high = len -1; while (low <= high) { int middle = (high - low) / 2 + low; // 直接使用(high + low) / 2 可能导致溢出 if (arr[middle] == goal) return middle; //在左半边 else if (arr[middle] > goal) high = middle - 1; //在右半边 else low = middle + 1; } //没找到 return -1;}};int main(){ int arr[10] = {11,23,34,45,67,78,89,90,100,114}; int len = sizeof(arr)/sizeof(arr[0]); Test test; cout<<test.binary_search(arr,len,34); return 0;}
阅读全文
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- struts2的默认配置文件struts-default.xml
- 第一节 ElasticSearch了解及初步使用
- STC实现软复位
- Shiro身份验证
- Git 入门
- 二分查找
- Unity3D 之 console面板的停靠
- 源码阅读SourceInsight
- 原型模式
- linux 自定义全局环境变量设置
- 坑
- HDU 6105 Gameia【思维+博弈】
- CSU 1803: 2016 (省赛真题)
- 【c++】基本数据类型