二分搜索的递归和循环实现
来源:互联网 发布:u盘格式化数据恢复 编辑:程序博客网 时间:2024/06/05 18:06
二分搜索,指的是对已经排好序的数据进行搜索,也叫折半查找。下面我用递归和非递归实现了这一个算法
/** * 二分搜索的递归实现 * * @param a * @param x * @return */public int BSearch(int[] a, int x) {int left = 0, right = a.length - 1;return search(a, x, left, right);}public int search(int[] a, int x, int left, int right) {int mid = (left + right) / 2;if(left>right){return -1;}if (a[mid] == x) {return mid;}if (a[mid] > x) {return search(a, x, left, mid - 1);}elsereturn search(a, x, mid + 1, right);}/** * 二分搜索的循环实现 * * @param a * @param x * @return */public int search(int[] a, int x) {int left = 0, right = a.length - 1;for (; left <= right;) {int mid = (left + right) / 2;if (a[mid] == x)return mid;if (a[mid] > x) {right = mid - 1;} elseleft = mid + 1;}return -1;}
0 0
- 二分搜索的递归和循环实现
- 递归实现的二分搜索
- 二分查找的循环实现和递归实现
- 二分查找 递归实现 和 循环实现
- 二分查找的两种实现方式--循环和递归
- 二分搜索的递归实现算法
- 二分搜索的递归实现算法
- 二分查找的循环和递归方法
- 二分搜索算法(递归和非递归实现)
- 二分搜索的递归与非递归实现
- 使用循环和递归方法实现二分法搜索
- 二分搜索非递归和递归算法
- 二分查找法的C语言实现:递归与循环
- 二分查找算法的递归、循环实现及其缺陷
- 二分查找的循环版本和递归版本
- n的阶乘,循环和递归实现
- C:单链表的循环和递归实现
- 一个递归和非递归实现二分查找的代码
- JAVA实现顺序表
- 汇编--在屏幕上显示彩色字体
- Eclipse快捷键
- 使用FileInputStream和FileOutputStream实现文件的复制
- HTML导入本地图片
- 二分搜索的递归和循环实现
- 归并排序的算法实现
- 养成好习惯,学好嵌入式(U-boot,内核烧录)
- 归并排序的算法实现
- Run Android on Your Netbook or Desktop
- 冒泡排序
- 快速排序思想及其算法实现
- 循环日赛表的分治实现
- 一个简易的音乐播放器