分治法之二分查找
来源:互联网 发布:java ftpclient sftp 编辑:程序博客网 时间:2024/05/20 21:42
二分查找算法适用于在已经排好序的数组或者二叉树中,由于比较简单,故直接上代码。
代码如下:
//递归实现int binarySearch_recursion(const int arr[], const int left, const int right, const int key){ if(left > right) return -1; else { int mid = left + (right-left)/2; if(arr[mid] == key) return mid; else if(arr[mid] > key) return binarySearch_recursion(arr, left, mid-1, key); else return binarySearch_recursion(arr, mid+1, right, key); }}int binarySearch_recursion(const int arr[], const int size, const int key){ return binarySearch_recursion(arr, 0, size-1, key);}//非递归实现int binarySearch_norecursion(const int arr[], const int size, const int key){ int left = 0; int right = size - 1; int mid = -1; while(left <= right) { mid = left + (right-left)/2; if(key == arr[mid]) return mid; else if(key < arr[mid]) right = mid - 1; else left = mid + 1; }}
0 0
- 分治法之二分查找
- 分治法-----二分查找
- 分治算法之二分查找
- 分治思想之二分查找
- 分治法_二分查找法
- 分治法——二分查找
- 分治法——二分查找
- 分治-二分查找
- 分治算法--1. 二分查找
- Java 分治法来解二分查找
- 二分查找(分治算法)
- 分治算法解决二分查找
- 递归与分治:二分查找
- 分治法-二分查找(c语言描述)
- #1133 : 二分·二分查找之k小数 ( 快速排序, 分治 OR nth_element() 函数)
- 算法之二分查找法
- 数据结构之二分查找法
- 算法之二分查找法
- 绑定服务
- 【学习笔记】CSS的基本语法(二)
- 关于KCF的几个问题个人理解
- CSS3中box-shadow属性的使用方法
- 合并两个排序的链表
- 分治法之二分查找
- 001-algorithm-print matrix on the clockwise
- 11持有对象-Java编程思想
- C++虚函数的认识
- Python返回函数_函数闭包_lambda匿名函数
- Android开发规范——命名 (转)
- 关于static 的使用
- Java多线程 -- JUC包源码分析2 -- Copy On Write/CopyOnWriteArrayList/CopyOnWriteArraySet
- 显卡性能指标参数概念解释