二分算法
来源:互联网 发布:入我相思门知我相思苦 编辑:程序博客网 时间:2024/04/30 18:05
二分算法,一般是在已排序好的数组中提高搜索速度。 每次从middle处开始搜索。
给出两个方法解决:
递归法:
int bin_search(int arr[], int val, int l, int r){int m = (l+r)/2;if( l >= r ) return (arr[m] == val) ? m : -1;switch( (arr[m] == val) ? 0:((arr[m] < val) ? -1:-2) ){case 0:return m;case -1:return bin_search(arr, val, m+1, r);case -2:return bin_search(arr, val, l, m-1);}return -1;}
非递归查询:
int bin_search(int arr[], int val, int len){int l = 0;int r = len;while(l <= r){int m = (l+r)/2;switch( arr[m] == val ? 0 : (arr[m] < val ? -1 : -2) ){case 0:return m;case -1:l = m+1;break;case -2:r = m-1;break;}}return -1;}
- 二分算法
- 二分算法
- 二分算法
- 二分算法
- 二分算法
- 二分算法
- 二分算法
- 二分算法
- 二分算法
- [算法]二分查找算法
- 算法----二分查找算法
- 二分查找算法
- [算法]有序二分查找
- 二分查找算法
- 常用算法- 二分查找
- 贪婪算法---二分覆盖
- C#二分搜索算法
- C 二分查找算法
- Oracle中NVARCHAR2和VARCHAR2及其他
- Vi
- 文件控制(所锁)
- Android framework analysis
- Android AIDL使用详解
- 二分算法
- uboot笔记之makefile分析
- window server 2008 无线无法上网的解决
- 基于OO的tab选项卡,加强了语言话和扩展性需特效可合并前面的附加插件用
- 安装windows后,找回ubuntu
- 七夕,染红了我的相思
- Informix存储过程 详解
- ubuntu SSH Secure Shell Client 中文乱码
- Xcode4.5.1破解iOS免证书开发真机调试与ipa发布