Java 二分查找算法(递归和非递归)
来源:互联网 发布:怎样学软件 编辑:程序博客网 时间:2024/04/30 04:22
技术要点:
二分查找又称折半查找
1.必须采用顺序存储结构
2.必须按关键字大小有序排列
也就是说:二分查找算法要求待查找的数组已经排序过。
public class BinarySearch { public static void main(String[] args) {int[] src = new int[] {1, 3, 5, 7, 8, 9}; System.out.println(binarySearch(src, 3));System.out.println(binarySearch(src,3,0,src.length-1));}/** * * 二分查找算法 * * * * @param srcArray * 有序数组 * * @param des * 查找元素 * * @return des的数组下标,没找到返回-1 */ public static int binarySearch(int[] srcArray, int des){ int low = 0; int high = srcArray.length-1; while(low <= high) { int middle = (low + high)/2; if(des == srcArray[middle]) { return middle; }else if(des <srcArray[middle]) { high = middle - 1; }else { low = middle + 1; }}return -1; } /** *二分查找特定整数在整型数组中的位置(递归) *@paramdataset *@paramdata *@parambeginIndex *@paramendIndex *@returnindex */public static int binarySearch(int[] dataset,int data,int beginIndex,int endIndex){ int midIndex = (beginIndex+endIndex)/2; if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){ return -1; } if(data <dataset[midIndex]){ return binarySearch(dataset,data,beginIndex,midIndex-1); }else if(data>dataset[midIndex]){ return binarySearch(dataset,data,midIndex+1,endIndex); }else { return midIndex; } } }
0 0
- Java 二分查找算法(递归和非递归)
- 二分查找算法 递归和非递归
- 二分查找算法递归和非递归实现(C++)
- 二分查找算法(递归和非递归)
- 二分查找算法(递归和非递归)
- 二分查找算法(递归和非递归)
- 二分查找(递归&非递归)java
- 二分查找递归和非递归(java实现)
- 二分查找(递归和非递归)
- Java(二分查找算法实现,分别使用递归和非递归方式)
- java查找算法(三)--二分非递归查找
- (一)算法--查找算法顺序查找和二分查找(递归和非递归方式)
- Java实现折半查找(二分查找)的递归和非递归算法
- Java实现折半查找(二分查找)的递归和非递归算法
- Java实现折半查找(二分查找)的递归和非递归算法
- java实现折半查找(二分查找)的递归和非递归算法
- Java实现折半查找(二分查找)的递归和非递归算法
- Java实现折半查找(二分查找)的递归和非递归算法
- 无效管理器
- 怎样去除谷歌的恶意代码提示
- Xcode6中如何添加pch文件
- 使用 Python Mock 类进行单元测试
- 莫孤注一掷(Don't Just Roll the Dice 译文三)
- Java 二分查找算法(递归和非递归)
- RHEL 6.3 启动后自动运行相关命令
- 黑马程序员---C语言-进制问题
- 使用 Unity* 游戏引擎向 Android* 应用添加 x86 支持
- Appium(JAVA)Windows 7系统搭建及示例运行
- cocos2d-x 2.x 中KeyboardMove在iOS8下异常 编辑框移动异常
- vc6 连接 XD SDK
- nyoj 1000 又见斐波那契数列 (矩阵+费马小定理)
- Android DiskLruCache完全解析,硬盘缓存的最佳方案